編譯php時忘記添加某擴展,后來想添加擴展,但是因為安裝php后又裝了一些東西如PEAR等,不想刪除目錄重裝,別說,php還真有這樣的功能.
phpize是用來擴展php擴展模塊的,通過phpize可以建立php的外掛模塊,下面以安裝openssl為例,找到源碼包的ext文件夾,進入后找到openssl目錄,執行如下命令:
- cp config0.m4 config.m4
- /usr/local/php5/bin/phpize
- ./configure –with-php-config=/usr/local/php5/bin/php-config
- make
- make install
最后就是編輯/usr/local/php5/lib/php.ini(注意:這里要核實下具體有效的php.ini放置在哪里?),代碼如下:
extension_dir=”/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/”
extension = “openssl.so”
其他的編輯也是依此類推,安裝外置模塊后,檢查的話可以直接通過phpinfo或者命令行檢查,命令行檢查如下:
/usr/local/php5/bin/php -m
找找看,openssl是否正常掛載了,若有問題的話,查看相應的日志文件,按實際問題做相應的處理.
另外再看一個soap安裝為例子,代碼如下:
- cd /home/zhangy/php-5.2.6/ext/soap #ext目錄下面放的是php的模塊庫
- /usr/local/php/bin/phpize
- #確定php-config文件在不在,調用php-config,安裝后.so文件會自動放到extension_dir里面
- ./configure --enable-soap --with-php-config=/usr/local/php/bin/php-config
- make && make install
安裝完后會有這樣的東西,代碼如下:
- See any operating system documentation about shared libraries for
- more information, such as the ld(1) and ld.so(8) manual pages.
- ----------------------------------------------------------------------
- Build complete.
- Don't forget to run 'make test'.
- Installing shared extensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
查看.so文件,以及修改php.ini,代碼如下:
- cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
- ls -al |grep soap --Vevb.com
- -rwxr-xr-x 1 root root 763334 Feb 9 10:51 soap.so
- vi /usr/local/php/lib/php.ini
新聞熱點
疑難解答