编译PHP 5.1.6与PDO的MySQL(Compiling PHP 5.1.6 with PDO

2019-06-26 12:11发布

我最初问上ServerFault这个问题并没有得到任何回复,我想它的节目相关的话,这里去...


前一阵子大客户我们搬到谁只具备了一个软件环境,这将是翻过所有活动服务器相符的单一托管服务提供商。

Amongs其他事情,包括Apache 2.2.8和5.1.6 PHP。

我们有一个Ubuntu 8.04服务器的发展和这些版本的Apache和PHP是不是默认安装的。 因此,我不得不从源代码编译他们。 这些版本也乐意被现在正在运行了一年多。

我们正在开始一个新的网站建设,我们要使用ZendFrameword需要PDO_MYSQL。

我试着用下面的重新编译......(下划线表示行的延续)

./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停止工作。

厂名,使安装,libtool的...提出的* .so文件

在/ usr / local / 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的人,谁能告诉我,我要去哪里错了。

谢谢

Answer 1:

我不知道这将真正帮助,但如果你去掉什么“每个实例=shared在配置行”?

例如,下面是我前一段时间使用*(通过的phpinfo给出)的configure命令*:

$ /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'

(添加新行是为了便于阅读起见)

帮助?



Answer 2:

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

pecl install PDO_MYSQL

对于您将需要phpize安装。 在Debian机器它是由呼包提供php5-dev 。 后来才将其添加到您php.ini ,并重新启动Apache。

如果你是在Debian / Ubuntu系统PDO_MYSQL在呼包提供php5-mysql



文章来源: Compiling PHP 5.1.6 with PDO MySQL