UPDATE
我在StackOverflow上询问了这个问题,因为当时我在这里没有任何答案。 这里是完整性答案的链接 。 一旦我尝试过Dan C的解决scheme,我会把这个页面重新放在这里。
原版的
前一段时间,我们的一个大客户转移到一个单一的托pipe服务提供商,谁提供了一个软件环境,所有的现场服务器将是一致的。
其他的东西包括Apache 2.2.8和PHP 5.1.6。
我们有一个用于开发的Ubuntu 8.04服务器,这些版本的Apache和PHP不是默认安装的。 所以我不得不从源码编译它们。 这些版本已经快乐地运行了一年多了。
我们正在开始一个新的网站构build,我们要使用需要PDO_MySQL的ZendFrameword。
我已经尝试用下面的重新编译…
./configure --with-apxs2=/usr/local/apache2/bin/apxs \ --with-config-file-path=/user/local/apache2/conf/php.ini \ --with-curl=/usr/lib/ --with-mysql=shared --with-mysqli=shared \ --with-zlib --with-gd --with-jpeg-dir=/usr/local/lib/ \ --with-freetype-dir=/usr/lib/ --enable-soap --enable-pdo=shared \ --with-pdo-mysql=shared --with-sqlite=shared ... make ... make install ... libtool --finish /sources/php-5.1.6/libs
这一切都工作正常,当我把Apache的备份,它显示了新的./configure在phpinfo()。
这样做后,MySQL停止工作,MYSQL部分消失,msyql停止工作。
make,make install,libtool …把 .so文件放进去
在/ usr / local / lib目录/ PHP /分机/无debugging非ZTS-20050922
我以前使用的configuration启用MySQL,但不是PDO
./configure --with-apxs2=/usr/local/apache2/bin/apxs \ --with-config-file-path=/user/local/apache2/conf/php.ini \ --with-curl=/usr/lib/ --with-mysql --with-mysqli \ --with-zlib --with-gd --with-jpeg-dir=/usr/local/lib/ \ --with-freetype-dir=/usr/lib/ --enable-soap
我不是一个大规模的尼克斯人,谁能告诉我哪里出错了。
谢谢
第一:
您的--with-config-file-path标志中有一个无关的“e”。
如果在你的真实configure错字,那么这可能是你的问题的原因。
第二:
PHP需要知道从哪里加载扩展。
你可以通过编辑你的php.ini来告诉它search你logging的目录,如下所示:
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20050922/"
只需注意:
反斜杠是连续线的常用符号。
如果您将命令复制/粘贴到terminal,您的shell将安全地解释它们。