6
回答
为啥ubuntu安装了apache+php之后找不到php.ini和log
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

使用apt-get安装了apache + php, 但是zip没有被默认安装, 运行phpExcel出现

Fatal error: Class 'ZipArchive' not found in

于是按照网上的方法下载zip包编译安装, 最后是查找php.ini修改配置打开zip

可是在/etc/php5/apache2/找到了php.ini修改好像没有效果,

后来干脆把这个文件改名重启apache居然也不报错说明这个文件根本那就没有用到.

点解?

举报
甘薯
发帖于3年前 6回/1K+阅
共有6个答案 最后回答: 3年前
apt-get安装的php默认就自带了zlib了吧:
php -m|grep zlib 查看zlib是否已经加载
php --ini 查看当前使用的配置文件(没有配置文件,PHP也是能正常工作的)
其实这些在phpinfo里都能看到的吧.
--- 共有 1 条评论 ---
甘薯今天关机了,明天一早把phpinfo发给你老看一下 3年前 回复

@eechen 这里是phar的信息

Phar

Phar: PHP Archive support enabled
Phar EXT version 2.0.1
Phar API version 1.1.1
SVN revision $Id: ec823514107160b7e6fabc519594012657a2db91 $
Phar-based phar archives enabled
Tar-based phar archives enabled
ZIP-based phar archives enabled
gzip compression disabled (install ext/zlib)
bzip2 compression disabled (install pecl/bz2)
OpenSSL support disabled (install ext/openssl)

sudo apt-get install php5-cli
/usr/bin/php5 -r 'print_r(get_declared_classes());' |grep ZipArchive
[122] => ZipArchive
我这边是能找到这个已经声明的类的.
--- 共有 1 条评论 ---
甘薯好我试试, 刚才我扯了一下可能是和配置路径损坏有关系, 我默认安装ubuntu的apt-get了5.3, 后来手工升级成5.4这下子好像就乱了.我看到Configuration File (php.ini) Path 这类变量和实际的并不相同无语啊 3年前 回复

已经找到原因了, 还是升级编译php出的纰漏,

这些选项不是默认的, 真恶心啊...

重新编译加上去安装之后就没问题了
感谢@eechen

--- 共有 2 条评论 ---
甘薯回复 @eechen : 是的, 我以为很多选项都是默认的... 杯具了 3年前 回复
eechenhttp://php.net/manual/en/zip.installation.php 你应该是在configure时漏了--enable-zip,所以没有ZipArchive这个类. 3年前 回复
https://wiki.php.net/phpng
这是鸟哥他们开发测试用的编译配置,覆盖了大多数常用的功能,你参考一下:
./configure \
--prefix=$HOME/tmp/usr \
--with-config-file-path=$HOME/tmp/usr/etc \
--enable-mbstring \
--enable-zip \
--enable-bcmath \
--enable-pcntl \
--enable-ftp \
--enable-exif \
--enable-calendar \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-curl \
--with-mcrypt \
--with-iconv \
--with-gmp \
--with-pspell \
--with-gd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--with-xpm-dir=/usr \
--with-freetype-dir=/usr \
--with-t1lib=/usr \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-openssl \
--with-mysql=/usr \
--with-pdo-mysql=/usr \
--with-gettext=/usr \
--with-zlib=/usr \
--with-bz2=/usr \
--with-recode=/usr \
--with-mysqli=/usr/bin/mysql_config
根据 https://wiki.php.net/phpng 总结得出的新的编译参数:

sudo apt-get install \
build-essential \
autoconf \
libtool \
re2c \
libxml2-dev \
openssl \
libcurl4-openssl-dev \
libbz2-dev \
libjpeg-dev \
libpng12-dev \
libfreetype6-dev \
libldap2-dev \
libmcrypt-dev \
libmysqlclient-dev \
libxslt1-dev \
libxt-dev \
libpcre3-dev \
libxpm-dev \
libt1-dev \
libgmp-dev \
libpspell-dev \
librecode-dev

libxml2-dev依赖libxml2,安装开发包libxml2-dev时会自动安装上共享库libxml2,其他开发包也类似.

sudo ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h 或者 --with-gmp=/usr/include/x86_64-linux-gnu

./configure \
--prefix=/png/php/phpng \
--enable-fpm \
--enable-opcache \
--enable-pdo \
--enable-sockets \
--enable-exif \
--enable-soap \
--enable-ftp \
--enable-wddx \
--enable-pcntl \
--enable-soap \
--enable-bcmath \
--enable-mbstring \
--enable-dba \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--enable-zip \
--enable-calendar \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--with-mysql \
--with-mysqli \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-iconv \
--with-gmp \
--with-pspell \
--with-gettext \
--with-xmlrpc \
--with-openssl \
--with-mhash \
--with-mcrypt \
--with-xsl \
--with-curl \
--with-pcre-regex \
--with-gd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--with-xpm-dir=/usr \
--with-freetype-dir=/usr \
--with-t1lib=/usr \
--with-gettext=/usr \
--with-zlib=/usr \
--with-bz2=/usr \
--with-recode=/usr \
--with-ldap \
--with-pear \
--with-fpm-user=png \
--with-fpm-group=png \
--with-apxs2=/png/httpd/2.4.10/bin/apxs
--- 共有 1 条评论 ---
甘薯感谢! 3年前 回复
顶部