一般来说php安装扩展需要几下几个步骤
4.执行 phpize
(phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块)
(当php编译完成后,php的bin目录下会有phpize这个脚本文件)
注意./configure 后面可以指定的是php-config文件的路径,如果一台服务器上安装有多个php(遇到过),一定要选择正确
的php-config文件,否则容易出错
make
你把该目录下的xxxx.so拷贝到你php.ini中的extension_dir指向的目录中。
1.下载扩展包
比如 pdo_mysql.tar.gz
(如果不想下载,可以到php安装目录,(类似php-5.3.3/ext/)的ext文件中找一下,如果有扩展文件就不需要下载了 最好使用php的安装目录里的扩展插件,和php版本比较匹配,一定要注意这点)
2.解压 tar -zxvf pdo_mysql.tar.gz
3.进入解压后的目录
cd pdo_mysql
4.执行 phpize
(phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块)
(当php编译完成后,php的bin目录下会有phpize这个脚本文件)
在解压后的目录中,执行
/usr/local/php/bin/phpize (找自己的php安装目录,一定注意)
/usr/local/php/bin/phpize (找自己的php安装目录,一定注意)
为什么要使用phpize命令呢?因为当我们需要再添加一些模块,但是又不想重新编译php时,这时我们就可以使用phpize命令。
5../configure make make install
./configure –with-php-config=/usr/local/webserver/php/bin/php-config
注意./configure 后面可以指定的是php-config文件的路径,如果一台服务器上安装有多个php(遇到过),一定要选择正确
的php-config文件,否则容易出错
make install
如果没有报错,make install 后,它告诉你一个目录(下列红字)
[root@localhost imagick-3.4.0RC4]# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
Installing header files: /usr/local/php/include/php/
这样编译就完成了,还需要做的是在php.ini文件中加入extension值
extension = “xxxx.so”
extension = “xxxx.so”
或者直接修改配置文件php.ini
添加 程序安装结束时 给你的路径 一般如下(红字)
修改配置文件 增加
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/xxxx.so
全部完成
如果全部完成后没有出现插件,可以先使用 php -m 查看扩展插件情况,看是否有报错,比如
]# /usr/local/php/bin/php -m
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-zts-20090626/zip.so' - /usr/local/php/lib/php/extensions/no-debug-zts-20090626/zip.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: mcrypt: Unable to initialize module
Module compiled with build ID=API20090626,NTS
PHP compiled with build ID=API20090626,TS
These options need to match
in Unknown on line 0
[PHP Modules]
calendar
Core
ctype
date
dom
ereg
fileinfo
filter
gd
hash
iconv
json
libxml
mbstring
mysql
oci8
openssl
pcre
PDO
pdo_mysql
PDO_OCI
pdo_sqlite
Phar
posix
redis
Reflection
session
SimpleXML
soap
SPL
SQLite
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib
[Zend Modules]
前边的报错信息提示,没有安装成功,看了一下我的服务器上有两个 php,刚开始装时装错了,所以后面再重复安装都是一样报错。
解决方法:
我重新进入php扩展目录 php-5.3.3/ext/xxx
使用 make clean 命令
清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件。
我重新进入php扩展目录 php-5.3.3/ext/xxx
使用 make clean 命令
清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件。
再重新 ./configure --with-php-config=/usr/local/php/bin/php-config (我的php安装路径中的 php-config)
make
make install
……