PHPExcel读取Excel表格的时候报ZipArchive library is not enabled错误. 缺少zip 模块. 在Linux下没有zip.so这个模块文件(有也不会起作用的),所以需要重新编译一下php的增加zip模块。
1)重新到原来编译php的目录
#cd php-5.3.6/ext/zip
先执行phpize:
# /usr/local/php/bin/phpize
返回:Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
2)运行了这个zip目录下会自动生成几个文件,其中包括configure
- #./configure –enable-zip –with-php-config=/usr/local/php/bin/php-config
- # make
- # make install
3)安装完成后修改一下php.ini
- # vim /usr/local/php/etc/php.ini
加入
- extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/zip.so (路径可能不太一样,参考make install 返回路径)
- 然后同样在php.ini文件中,将 zlib.output_compression = Off 改为 zlib.output_compression = On .
之后重启/etc/init.d/httpd restart
我的nginx centos 后面的步骤不需要使用,就能生效了
3)安装完成后修改一下php.ini
# vim /usr/local/php/etc/php.ini
加入
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/zip.so (路径可能不太一样,参考make install 返回路径)
然后同样在php.ini文件中,将 zlib.output_compression = Off 改为 zlib.output_compression = On .
[root@monitor pdo_mysql]# phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
config.m4:138: warning: AC_CACHE_VAL(pdo_inc_path, …): suspicious cache-id, must contain _cv_ to be cached
../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from…
../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from…
aclocal.m4:2748: PHP_CHECK_PDO_INCLUDES is expanded from…
config.m4:138: the top level
config.m4:138: warning: AC_CACHE_VAL(pdo_inc_path, …): suspicious cache-id, must contain _cv_ to be cached
../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from…
../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from…
aclocal.m4:2748: PHP_CHECK_PDO_INCLUDES is expanded from…
config.m4:138: the top level
解决方法:
autoconf版本太高造成的,我的办法是安装autoconf 2.13
redhat类系统运行如下命令
yum install autoconf213.noarch
export PHP_AUTOCONF=/usr/bin/autoconf-2.13
export PHP_AUTOHEADER=/usr/bin/autoheader-2.13
64位环境下
configure: error: libjpeg.(a|so) not found.
或者 configure: error: *.(a|so) not found.
这些库已经安装了但还报错
在configure 时加参数 –with-libdir=lib64
1、安装unixODBC软件包,如下:
unixODBC-2.2.11-7.1.i386.rpm
unixODBC-kde-2.2.11-7.1.i386.rpm
unixODBC-devel-2.2.11-7.1.i386.rpm
yum -y install unixODBC-*
2、从官网上下载PDO_ODBC扩展包
wget http://pecl.php.net/get/PDO_ODBC-1.0.1.tgz
tar -zxvf PDO_ODBC-1.0.1.tgz
/usr/local/webserver/php/bin/phpize
./configure –with-php-config=/usr/local/webserver/php/bin/php-config –with-pdo-odbc=unixODBC,/usr
make
make install
在php.ini文件添加下面一行
extension = “pdo_odbc.so”
从 php.ini 检查 pdo_odbc 是否安装成功。
Linux下php安装Redis扩展 注意:目录的权限 chomd 777 -R
1、安装redis
下载:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz
上传phpredis-2.2.4.tar.gz到/usr/local/src目录
cd /usr/local/src #进入软件包存放目录
tar zxvf phpredis-2.2.4.tar.gz #解压
cd phpredis-2.2.4 #进入安装目录
/usr/local/php/bin/phpize #用phpize生成configure配置文件
./configure –with-php-config=/usr/local/php/bin/php-config #配置
make #编译
make install #安装
安装完成之后,出现下面的安装路径
/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
2、配置php支持
vi /usr/local/php/etc/php.ini #编辑配置文件,在最后一行添加以下内容
添加
extension=”redis.so”
:wq! #保存退出
3 重启服务
sudo service nginx restart
sudo /etc/init.d/php-fpm restart
php 的经纬度地址编码扩展
wget https://github.com/shenzhe/geohash/archive/master.zip
unzip master.zip
cd geohash-master/
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config
make
make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/