1. 在linux 虛擬主機php環境中,php.ini 中 extension=zip.so 主要起什麼作用
在php.ini 中增加extension=zip.so其作用是為php載入 zip 模塊.
可參考以下資料:
Linux平台下PHP zip模塊
1、依次運行以下命令:
wget http://pecl.php.net/get/zip-1.8.3.tgz //貌似已經出新版本了zip1.10.2.tgz
tar zxvf zip-1.8.3.tgz
cd zip-1.8.3
/usr/local/php/bin/phpize (對應的phpize路徑)(安裝好的php位置)
configure --with-php-config=/usr/local/php/bin/php-config (對應的php-config路徑)(php-config文件名不能更改)
make
make install
//此時會在zip/moles/下生成一個zip.so文件,將它拷貝到make之後給的一個路徑下,如有同名的,覆蓋之。
2、生成的模塊路徑:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/zip.so (對應的extensions路徑)
3、修改php.ini
extension_dir = "./"修改為extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/"
增加extension=zip.so
4、重啟apache
apache2/bin/apachectl restart
2. 如何在linux下安裝多個不同版本的PHP
進入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/php -v
執行這個命令時,php會去檢查配置文件是否正確,如果有配置錯誤,
這里會報錯,可以根據錯誤信息去排查!
3. linux已經安裝openssl,如何重新編譯php支持openssl模塊
下載php的源代碼,執行三步安裝就行了:
./configure
make && sudo make install
sudo make clean
就可以了,然後編輯php.ini文件加入模塊支持:
extensions=openssl.so
好了。版大工告成~~權~
4. linux php.ini怎麼配置開啟 ftp模塊
首先,進入源碼目錄
cd php-5.2.13/ext/ftp
#運行phpize生成configure
/usr/local/php/bin/phpize
#編譯,指定php-config,注意這里的php-config,不是php.ini
./configure --with-php-config=/usr/local/php/bin/php-config
#上面可以添加版權--enable-ftp,也可以不用添加
#編譯安裝
make;make install
#生成一個目錄來存放擴展的模塊
mkdir /usr/local/php/etc/php/ext
#復制ftp.so到模塊目錄
cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ftp.so /usr/local/php/etc/ext/
#編輯php.ini文件,指定PHP到哪個目錄讀模塊
vi /usr/local/php/etc/php.ini
代碼如下:復制代碼
extension_dir="/usr/local/php/etc/ext"
#Load模塊
extension=ftp.so
#保存退出