使用PDO MySQL编译PHP 5.1.6

时间:2009-07-22 10:26:36

标签: php mysql configuration pdo compilation

我最初asked this question on ServerFault并且没有得到任何回复,我认为它与编程相关,所以,这里...


不久前,我们的一个大客户转移到一个托管服务提供商,他们指出了一个软件环境,这个环境在所有实时服务器上都是一致的。

其他的东西包括Apache 2.2.8和PHP 5.1.6。

我们有一个用于开发的ubuntu 8.04服务器,这些版本的Apache和PHP不是默认安装的。所以我不得不从源代码编译它们。这些版本已经运行了一年多了。

我们正在开始新的网站构建,我们想要使用需要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时,它会在phpinfo()中显示新的./configure。

执行此操作后,MySQL停止工作,MYSQL部分消失,msyql停止工作。

make,make install,libtool ...将* .so文件放入

的/ usr /本地/ LIB / PHP /扩展/无调试非ZTS-20050922

我之前使用的配置启用了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

我不是一个大规模的* nix人,任何人都可以告诉我我哪里出错了。

由于

2 个答案:

答案 0 :(得分:3)

我不确定它会有什么帮助,但是如果删除配置行中的每个“=shared”实例会怎么样?

例如,这是我前段时间使用的配置命令*(由 phpinfo 给出)*:

$ /usr/local/php-5.1.6/bin/php -i | grep 'configure'
Configure Command =>  './configure' '--prefix=/usr/local/php-5.1.6' '--with-config-file-path=/etc/php-5.1.6' 
  '--with-apxs2=/usr/bin/apxs2' '--disable-ipv6' '--with-openssl' '--with-zlib' '--enable-bcmath' 
  '--with-bz2' '--with-curl' '--enable-exif' '--enable-ftp' '--with-gd' '--with-ttf' 
  '--enable-gd-native-ttf' '--with-imap-ssl' '--with-ldap' '--enable-mbstring' '--with-mcrypt' 
  '--with-mhash' '--with-mysql' '--with-mysqli' '--enable-pcntl' '--with-pdo-mysql' '--with-pdo-sqlite' 
  '--enable-shmop' '--enable-soap' '--enable-sockets' '--enable-sqlite-utf8' '--with-xmlrpc' 
  '--with-xsl' '--with-pear'

(为了便于阅读而添加了新行)

有帮助吗?

答案 1 :(得分:-1)

无需重新编译整个PHP。只需单独编译PDO_MYSQL模块。使用pecl进行安装:

pecl install PDO_MYSQL

为此,您需要安装phpize。在Debian机器上,它由名为php5-dev的包提供。然后将其添加到php.ini并重新启动Apache。

如果您使用的是Debian / Ubuntu系统,则在名为php5-mysql的程序包中提供PDO_MYSQL