伺服器執行一段時間後,可能突然會需求新增某個擴充套件,如curl、pdo、xmlrpc等,這就需要在不重新編譯php的情況下獨立新增擴充套件。
下面以安裝curl及tidy為例,介紹具體安裝步驟。
1.安裝crul
wget
tar -zxvf curl-7.19.6.tar.gz
cd curl-7.19.6
./configure --prefix=/usr/local/curl
make
make install
2.編譯生成擴充套件
進入php源程式目錄中的ext目錄中,這裡存放著各個擴充套件模組的源**,選擇你需要的模組,比如curl模組:
cd curl
執行phpize生成編譯檔案,phpize在php安裝目錄的bin目錄下
/usr/local/php5/bin/phpize
執行時,可能會報錯:cannot find autoconf. please check your autoconf installation and the $php_autoconf
environment variable is set correctly and then rerun this script.「,需要安裝autoconf:
yum install autoconf(redhat或者centos)、apt-get install autoconf(ubuntu linux)
生成配置檔案,並編譯生成模組:
/usr/local/php5/bin/phpize
./configure --with-curl=/usr/local/curl --with-php-config=/usr/local/php5/bin/php-config
make
make install
這樣,curl.so就被複製到php對應目錄(如:/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/)
3.修改配置
在php.ini裡,設定擴充套件目錄:
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/"
並新增擴充套件模組引用:
extension = curl.so
4.檢查並重啟apache
/usr/local/php/bin/php -v
執行這個命令時,php會去檢查配置檔案是否正確,如果有配置錯誤,這裡會報錯,可以根據錯誤資訊去排查
Linux下php新增新擴充套件
今天幹了一件很嚴重的錯事,用tp開發完新專案後,傳到伺服器上報錯,網上查了一下,說未載入pdo,就載入吧。找到配置檔案php.ini,搜到 extension php pdo mysql.dll,去掉前面的注釋,重啟伺服器,看似一切正常,卻大錯特錯。linux下應該是.so,而不是.dll,php原...
Linux下php新增新擴充套件
今天幹了一件很嚴重的錯事,用tp開發完新專案後,傳到伺服器上報錯,網上查了一下,說未載入pdo,就載入吧。找到配置檔案php.ini,搜到 extension php pdo mysql.dll,去掉前面的注釋,重啟伺服器,看似一切正常,卻大錯特錯。linux下應該是.so,而不是.dll,php原...
Linux下php新增redis擴充套件
檢視php版本 php v 如下 php 7.1.25 cli built dec 6 2018 22 54 10 nts php 7.1.25 cli built dec 6 2018 22 54 10 nts 列出所有的可以安裝的php軟體包列表 yum list grep php71w 結果大...