编译php报错

./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-mysql-sock=/tmp/mysql.sock –with-pdo-mysql=/usr/local/mysql –with-gd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/ –with-vpx-dir=/usr/local/libvpx/ –with-zlib-dir=/usr/local/zlib –with-t1lib=/usr/local/t1lib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl –enable-ctype –with-bz2 –disable-ipv6 –with-iconv-dir=/usr/local –enable-calendar –with-libxml-dir=/usr/local –enable-dom –with-libdir=lib64

 

报错:

checking for MySQL support… yes
checking for specified location of the MySQL UNIX socket… no
configure: error: Cannot find libmysqlclient under /usr/local/mysql.
Note that the MySQL client library is not bundled anymore!
[root@m php-5.5.25]# php -v
-bash: php: command not found

经查资料发现是 –with-libdir=lib64 问题 

重新编译

./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-mysql-sock=/tmp/mysql.sock –with-pdo-mysql=/usr/local/mysql –with-gd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/ –with-vpx-dir=/usr/local/libvpx/ –with-zlib-dir=/usr/local/zlib –with-t1lib=/usr/local/t1lib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl –enable-ctype –with-bz2 –disable-ipv6 –with-iconv-dir=/usr/local –enable-calendar –with-libxml-dir=/usr/local –enable-dom

configure: WARNING: unrecognized options: –enable-discard-path, –enable-safe-mode, –with-curlwrappers, –enable-fastcgi, –enable-force-cgi-redirect
[root@m php-5.5.25]#

编译成功

参考:

http://www.serveridol.com/2012/11/02/php-install-configure-error-cannot-find-libmysqlclient-under-usr/

PHP install – configure error : Cannot find libmysqlclient under /usr.

I had to up-grade on MySQL server to 5.5 on last week in a server. Developers are accessing this server over the PhpMyAdmin url. This the server was configured with the php yum version which shipped with the OS. PhpMyAdmin was crashed once after I up-graded the MySQL. It’s showing the following errors.

checking for MSSQL support via FreeTDS… no
checking for MySQL support… yes
checking for specified location of the MySQL UNIX socket… no
configure: error: Cannot find libmysqlclient under /usr.
Note that the MySQL client library is not bundled anymore!

I see that MySQL package integrity has been lost after the up-gradation (I removed the default MySQL installs prior to this). Hence the ‘yum php’ will not work afterwards. So I’m planning to install PHP manually after remove all the php package using yum. Download the source file from php.net and installing. When I execute “./configure” command returns mysql ibrary error.

Solution

You have to include “–with-libdir=lib64″ in config. parameters to get it work.

The following additional actions to be done for proper installation on 64 bit platform.

1. You might need to remove/rename the file Php-Apache library file “/usr/lib64/httpd/modules/libphp5.so” before executing “make install”
2. You may need to install MySQL libraries ie #yum install mysql-devel

3. Set php extension directory path in ‘/etc/php.ini’ to “/usr/lib64/php/modules”
extension_dir = “/usr/lib64/php/modules”

Then restart the web server to get it run. It’s the second time I got the same error even I remembered it had came earlier but I did not pick up the solution on time which is so sad…

-njoy -)

 

发表评论

邮箱地址不会被公开。 必填项已用*标注