Rumah > pembangunan bahagian belakang > tutorial php > PHP5.3.27和MySQL分开安装在两台机器

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-23 13:15:42
asal
945 orang telah melayarinya

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 #再次执行这个,上面的复制额可能使没装上
Salin selepas log masuk

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
Salin selepas log masuk


在编译php时报错如下:

# make。。。/usr/bin/ld: cannot find -lltdlcollect2: ld returned 1 exit statusmake: *** [libphp5.la] Error 1
Salin selepas log masuk


问题原因:

该问题一般是由于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
Salin selepas log masuk

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

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

# ln -s  ./libltdl.so.3   ./libltdl.so
Salin selepas log masuk

方法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
Salin selepas log masuk

安装头文件:

[root@localhost lib]# yum -y install libtool-ltdl-devel.i386
Salin selepas log masuk

查看后发现该错误确实是由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
Salin selepas log masuk

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
Salin selepas log masuk

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

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

ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/touch ext/phar/phar.phar
Salin selepas log masuk

方法2:

echo "/application/mysql/lib">>/etc/ld.so.confldconfig
Salin selepas log masuk

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

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

yum list all | grep ltdlyum install libtool-ltdl-devel.x86_64libtool-ltdl.x86_64 �y
Salin selepas log masuk
make && make installln -s /application/php-5.3.27/ /application/php
Salin selepas log masuk


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan