1. php中phar禁用openssl怎麼解決
在php.ini中更改openssl的擴展載入狀態。今天我也遇到了,是在phpinfo中顯示被禁用。覺得是沒有正確載入,或者根本沒有裝上,明天在伺服器上試試。
在伺服器上測試過之後,將我的方法復述如下;用了兩個方法,1:將php安裝包裡面的ext文件復制到一個你知道的文件夾,或者直接在php.ini中直接更改extension_dir='ext目錄'。2:使用yum進行安裝yum install openssl。然後在目錄下進行/phpize,你找下這個命令的位置,一般在php文件夾下的bin目錄裡面,用絕對路徑執行。
然後在安裝目錄執行以下命令,生成openssl.so
./configure --with-php-config=/usr/local/php/bin/php-config(php-config文件的路徑)
make
make install
將openssl.so復制到PHP擴展文件夾中
修改php.ini中 extesion=openssl.so
中間可能會出現一些依賴軟體需要安裝,網路一下,yum安裝即可
2. phpnow怎麼安裝ssl證書https訪問
您好!
首先進入Gworg申請SSL證書(某淘中可以找到),獲得Apache SSL證書。
如果是草根的話,需要耐心的研究了,步驟還是挺復雜的。
PHPnow是指:Apache + PHP + MySQL,所以只需根據Apache環境安裝SSL證書。
打開你集成包的文件夾,找到「/php-5.2.x-Win32/php-apache2handler.ini」這文件,隨便用記事本打開,查找
;extension=php_openssl.dll
將最前面的分號去掉,改成以下的代碼,然後保存
extension=php_openssl.dll
接著重啟一下apache哦,重啟方法:
打開PHPnow安裝根目錄,運行PnCp.cmd,輸入23後回車,就可以重啟apache (選23)
接下來可以參考教程安裝:網頁鏈接(下面代碼也可以應用)
Listen443(如果配置已經存在就不要加)
LoadMolessl_molemoles/mod_ssl.so(如果配置已經存在就不要加)
NameVirtualHost*:443(非必須,配置多個SSL站點會需要)
<VirtualHost*:443>
ServerNamewww.gworg.cn
ServerAliasgworg.cn
DocumentRoot/var/www/html
SSLEngineon
SSLProtocolall-SSLv2-SSLv3
SSLCertificateFile/etc/ssl/server.crt
SSLCertificateKeyFile/etc/ssl/server.key
SSLCertificateChainFile/etc/ssl/server.ca-bundle
</VirtualHost>
3. PHP7.2 安裝openssl擴展報錯問題。(centos7.7)
試試重新安裝看可行
刪除舊版本:yum remove -y openssl openssl-devel 源碼安裝openssl需要perl環境編譯,如果沒有perl環境還是需要安裝:yum -y install perl perl-devel
1.下載源碼包
wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz
2.解壓源碼包並進入解壓後的目錄:
tar zxf openssl-1.0.2l.tar.gz
cd openssl-1.0.2l
3.配置並編譯安裝:
./config -fPIC --prefix=/usr/local/openssl/ enable-shared && make && make install
注釋:
--prefix:指定安裝目錄
-fPIC:編譯openssl的靜態庫
enable-shared:編譯動態庫
4.加入環境變數,以便方便使用openssl命令:
echo "export PATH=$PATH:/usr/local/openssl/bin" >>/etc/profile
source /etc/profile
5.將庫文件路徑寫入/etc/ld.so.conf文件中,方便調用庫文件
echo "include /usr/local/openssl2/lib" >> /etc/ld.so.conf
ldconfig
6.查看openssl命令路徑:
which openssl
/usr/local/openssl/bin/openssl
查看版本號:
openssl version -a
4. php開啟fsockopen函數
1.方法一:
第一步:
php.ini文件中查找
allow_url_fopen = On
使其值為On
第二步:
php.ini文件中查找
extension=php_openssl.dll
如果前面有分號,去掉分號
第三步:
重啟web伺服器,apache或IIS
2.還有一種情況,也就是方法二:
1. vi php.ini
找到 allow_url_fopen 這個參數設置成 On,即
allow_url_fopen = On
2. 讓你的php支持 opensll擴展。
默認,是沒有openssl擴展的,只能重新編譯安裝。
yum install openssl openssl-devel
cd /usr/local/src/php-5.2.14/ext/openssl
/usr/local/php/bin/phpize
./configure –with-openssl –with-php-config=/usr/local/bin/php-config
make && make install
看提示,把編譯成的openssl.so 拷貝到你在php.ini 中指定的 extension_dir 下
3. vi php.ini
加入
extension=openssl.so
4. 重啟web server
5. linux已經安裝openssl,如何重新編譯php支持openssl模塊
下載php的源代碼,執行三步安裝就行了:
./configure
make && sudo make install
sudo make clean
就可以了,然後編輯php.ini文件加入模塊支持:
extensions=openssl.so
好了。大工告成~~~
6. 如何在apache上安裝SSL證書
一、安裝openssl
下載Openssl安裝包並解壓,推薦使用默認配置 make && make install //編譯及安裝 ,openssl默認將被安裝到/usr/local/ssl。
二、 讓apache支持ssl,編譯的時候,要指定ssl支持
靜態方法即–enable-ssl=static –with-ssl=/usr/local/ssl
動態方法–enable-ssl=shared –with-ssl=/usr/local/ssl
其中第二種方法會在mole/ 目錄下生成 mod_ssl.so 模塊,而靜態不會有,當然第二種方法也需要在httpd.conf 中加入LoadMole ssl_mole moles/mod_ssl.so
三、獲取SSL證書
1)創建私鑰。在創建證書請求之前,您需要首先生成伺服器證書私鑰文件。
cd /usr/local/ssl/bin //進入openssl安裝目錄
openssl genrsa -out server.key 2048 //運行openssl命令,生成2048位長的私鑰server.key文件。如果您需要對 server.key 添加保護密碼,請使用 -des3 擴展命令。Windows環境下不支持加密格式私鑰,Linux環境下使用加密格式私鑰時,每次重啟Apache都需要您輸入該私鑰密碼(例:openssl genrsa -des3 -out server.key 2048)。
cp server.key /usr/local/apache/conf/ssl.key/
2)生成證書請求(CSR)文件
openssl req -new -key server.key -out certreq.csr
Country Name: //您所在國家的ISO標准代號,中國為CN
State or Province Name: //您單位所在地省/自治區/直轄市
Locality Name: //您單位所在地的市/縣/區
Organization Name: //您單位/機構/企業合法的名稱
Organizational Unit Name: //部門名稱
Common Name: //通用名,例如:www.anxinssl.com。此項必須與您訪問提供SSL服務的伺服器時所應用的域名完全匹配。
Email Address: //您的郵件地址,不必輸入,直接回車跳過
「extra」attributes //以下信息不必輸入,回車跳過直到命令執行完畢。
3)備份私鑰並提交證書請求
請將證書請求文件certreq.csr提交給安信證書,並備份保存證書私鑰文件server.key,等待證書的簽發。伺服器證書密鑰對必須配對使用,私鑰文件丟失將導致證書不可用。
四、安裝SSL證書
為保障伺服器證書在客戶端的兼容性,伺服器證書需要安裝兩張中級CA證書(不同品牌證書,可能只有一張中級證書)。
從郵件中獲取中級CA證書:
將證書簽發郵件中的從BEGIN到 END結束的兩張中級CA證書內容(包括「—–BEGIN CERTIFICATE—–」和「—–END CERTIFICATE—–」)粘貼到同一個記事本等文本編輯器中,中間用回車換行分隔。修改文件擴展名,保存為conf/ssl.crt/intermediatebundle.crt文件(如果只有一張中級證書,則只需要保存並安裝一張中級證書)。
五、完成apache配置 2.0的配置
httpd.conf 中增加
Listen443
NameVirtualHost *:443
DocumentRoot 「/data/web/www」
ServerName aaa.com:443
ErrorLog 「logs/error.log」
CustomLog 「logs/access.log」 combined
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key
SSLCertificateChainFile /usr/local/apache/conf/ssl.crt/intermediatebundle.crt
7. CentOS 5.5 當前apache2.2,PHP5.3,openSSL0.9.8e。現升級op
方法一,重新編譯php5.3,記得加上相關openssl的參數,新的php會用上新的openssl。
方法二,下載php5.3對應版本源碼
cdphp-5.3.xx/ext/openssl/
mvconfig0.m4config.m4
#你的路徑
/path/phpize
#你的路徑
./configure--with-openssl--with-php-config=/path/php-config
make
makeinstall
#你的路徑
cpopenssl.so/path/extensions/
#viphp.ini
#加入extension=openssl.so
apachectlrestart
ps. 還在用5.3,升級吧,5.6多好啊。
8. 如何在mamp中開啟openssl擴展
本教程為Mac OS X自帶PHP安裝OpenSSL,MAMP請參照*這里*的教程。
1. 當然你可以到OpenSSL的官網下載源代碼編譯或者通過MacPort安裝。不過這里說一個最簡單的方法。
*這里*提供.so文件,可以直接下載使用。
.so, a filename extension for "shared object" dynamic library files in Unix
——http://en.wikipedia.org/wiki/So
2. 將.so文件放到/usr/lib/php/extensions/no-debug-non-zts-20090626下。
3. 編輯/private/etc/php.ini,添加extension=openssl.so。如果沒有/private/etc/php.ini,也可能是/private/etc/php.ini.default
4. 重啟apache:sudo /usr/sbin/apachectl restart
5. 編輯一個phpinfo.php,代碼如下:
<?php
phpinfo();
?>
6. 用瀏覽器通過localhost打開,查看是否有OpenSSL。
7. Have fun!
參考資料:
http://foundationphp.com/tutorials/php_leopard.php
http://jaspan.com/openssl-support-php-under-mamp