PHP5.3.27和MySQL分开安装在两台机器

WBOY
Release: 2016-06-23 13:15:42
Original
866 people have browsed it

c67 + php5.3.27

php和mysql安装在同一台机器上了: 编译php的时候报错.


前提:安装php依赖是这样装的:

安装准备:

yum install zlib libxml libjpeg freetype libpnggd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devellibpng-devel gd-devel curl-devel �yyum install curl curl-devel �y #再次执行这个,上面的复制额可能使没装上
Copy after login

epel安装(能装5个包)

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repoyum install libxslt-devel �y #这个好像装不了,就采用了源码安装(163的源)yum install libmcrypt-devel mhash mhash-devel mcrypt -y
Copy after login


在编译php时报错如下:

# make。。。/usr/bin/ld: cannot find -lltdlcollect2: ld returned 1 exit statusmake: *** [libphp5.la] Error 1
Copy after login


问题原因:

该问题一般是由于ld在进行库的连接时找不到库文件所致:

解决方案:

方法1:

出现该问题时,去lib目录下查找相关的库文件,基本如下:

[root@localhost ~]# cd  /usr/lib[root@localhost lib]# ll | grep libltdllrwxrwxrwx   1 root root       16 Nov 14 22:40 libltdl.so.3 -> libltdl.so.3.1.4-rwxr-xr-x   1 root root    25484 Dec 16  2009 libltdl.so.3.1.4
Copy after login

上述库文件中没有库的入口: libltdl.so

可以通过手动建立连接来解决:

# ln -s  ./libltdl.so.3   ./libltdl.so
Copy after login

方法2:从根本解决

但是深究该问题应该是该库的头文件库没有安装所致:

[root@localhost lib]# yum list all | grep ltdllibtool-ltdl.i386                       1.5.22-7.el5_4              installed   libtool-ltdl-devel.i386                 1.5.22-7.el5_4              CentOs5.5-32
Copy after login

安装头文件:

[root@localhost lib]# yum -y install libtool-ltdl-devel.i386
Copy after login

查看后发现该错误确实是由devel头文件未安装所致。

[root@localhost lib]# rpm -ql libtool-ltdl-devel.i386/usr/include/ltdl.h/usr/lib/libltdl.a/usr/lib/libltdl.la/usr/lib/libltdl.so
Copy after login

OK.问题解决~

查看网址:

http://www.linuxquestions.org/questions/linux-software-2/make-error-usr-bin-ld-cannot-find-lxext-365646/


附:PHP和MySQL分离安装时,PHP5.3.27的configure参数:

./configure \--prefix=/application/php-5.3.27 \--with-mysql=mysqlnd \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--with-iconv-dir=/usr/local/libiconv \--with-freetype-dir \--with-jpeg-dir \--with-png-dir \--with-zlib \--with-libxml-dir=/usr \--enable-mysqlnd \--enable-xml \--enable-safe-mode \--disable-rpath \--enable-bcmath \--enable-shmop \--enable-sysvsem \--enable-inline-optimization \--with-curl \--with-curlwrappers \--enable-mbregex \--enable-fpm \--enable-mbstring \--with-mcrypt \--with-gd \--enable-gd-native-ttf \--with-openssl \--with-mhash \--enable-pcntl \--enable-sockets \--with-xmlrpc \--enable-zip \--enable-soap \--enable-short-tags \--enable-zend-multibyte \--enable-static \--with-xsl \--with-fpm-user=nginx \--with-fpm-group=nginx \--enable-ftp
Copy after login

执行完configure后,然后yum install一下.before make:

方法1:尼玛,这个我是PHP和MySQL分开装的呀,没mysql路径

ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/touch ext/phar/phar.phar
Copy after login

方法2:

echo "/application/mysql/lib">>/etc/ld.so.confldconfig
Copy after login

方法3:就是本文报错解决办法

法3:php和mysql隔离环境的话

yum list all | grep ltdlyum install libtool-ltdl-devel.x86_64libtool-ltdl.x86_64 �y
Copy after login
make && make installln -s /application/php-5.3.27/ /application/php
Copy after login


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template