我正在尝试安装 PHP的第二版(在Linux上),因此我可以在升级PHP(从5.3到5.5版)之前在我们的软件上测试此版本。我读过我应该能够将安装为FastCGI,以便在原始版本旁边的Apache 中使用它。我之前在从5.1升级到5.3之前已经完成了这个工作,但是,当现在运行php-cgi时,我得到了一堆关于模块的错误消息。
PHP警告:PHP启动:无法加载动态库' /opt/guide/cgi-bin5516/modules/gd.so' - /opt/guide/cgi-bin5516/modules/gd.so:无法打开共享对象文件:第0行的“未知”中没有此类文件或目录
PHP警告:PHP启动:无法加载动态库' /opt/guide/cgi-bin5516/modules/imap.so' - /opt/guide/cgi-bin5516/modules/imap.so:无法打开共享对象文件:第0行的“未知”中没有此类文件或目录
......还有其他15人
很明显,新版本的PHP意味着模块应该重新编译,所以我从php.ini引用了一个不同的扩展目录并编译了其中的一些:
phpize
aclocal
./configure
make
(我将生成的.so文件移动到此目录。这只会产生不同类型的错误消息:
PHP警告:PHP启动:无效的库(可能不是PHP库)' curl.so'在第0行的未知中
PHP警告:PHP启动:无效的库(可能不是PHP库)' dom.so'在第0行的未知中
现在我输了。 我做错了什么?有没有人知道
万一有人问,这些是我配置PHP的选项。是的,这是一个很重要的清单。它一直在增长,我不确定是否仍然需要所有选项,或者如果其中一个选项现在实际上是我的问题:
./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --target=x86_64-redhat-linux-gnu --program-prefix= --prefix=/usr/local/php-5.5.16 --enable-fastcgi --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --cache-file=../config.cache --with-libdir=lib64 --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --disable-debug --with-pic --disable-rpath --without-pear --with-bz2 --with-curl --with-freetype-dir=/usr --with-png-dir=/usr/lib --enable-gd-native-ttf --without-gdbm --with-gettext --with-gmp --with-iconv --with-jpeg-dir=/usr --with-openssl --with-pspell --with-pcre-regex=/usr --with-zlib --with-layout=GNU --enable-exif --enable-ftp --enable-magic-quotes --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-wddx --with-kerberos --with-unixODBC=shared,/usr --enable-shmop --enable-calendar --with-libxml-dir=/usr --without-mysql --without-gd --disable-dba --without-unixODBC --disable-pdo --enable-soap --without-iconv
更新:我也尝试使用前缀选项编译php,但是我得到了相同的错误。