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
#保存退出