用PDO MySQL编译PHP 5.1.6

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将安全地解释它们。