电子版第二版,17章,创建LAMP,安装PHP时报错

回复 收藏
配置命令是这个

./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/php/etc  \
--with-mysql=/usr/local/mysql \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif \
--disable-ipv6



然后就报错了
2014-10-16 17:29 举报
已邀请:
0

ninipig

赞同来自:

checking for mcrypt support... yes
checking for libmcrypt version... >= 2.5.6
checking for mcrypt_module_open in -lmcrypt... no
checking for mcrypt_module_open in -lmcrypt... yes
checking for MSSQL support via FreeTDS... no
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for mysql_close in -lmysqlclient... no
checking for mysql_error in -lmysqlclient... no
configure: error: mysql configure failed. Please check config.log for more information.

这个是config.log的信息

configure:57517: checking for stdarg.h
configure:58969: checking for mcrypt support
configure:59022: checking for libmcrypt version
configure:59148: checking for mcrypt_module_open in -lmcrypt
configure:59167: gcc -o conftest -I/usr/include -g -O2 -fvisibility=hidden  -Wl,-rpath,/usr/local/lib -L/usr/local/lib -L/usr/lib  -lltdl conftest.c -lmcrypt  -lfreetype -lpng -lz -ljpeg -lbz2 -lz -lrt -lm -ldl -lnsl  -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lxml2 -lz -lm 1>&5
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
configure: failed program was:
#line 59156 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char mcrypt_module_open();

int main() {
mcrypt_module_open()
; return 0; }
configure:59320: checking for mcrypt_module_open in -lmcrypt
configure:59339: gcc -o conftest -I/usr/include -g -O2 -fvisibility=hidden  -Wl,-rpath,/usr/local/lib -L/usr/local/lib -L/usr/lib  conftest.c -lmcrypt  -lfreetype -lpng -lz -ljpeg -lbz2 -lz -lrt -lm -ldl -lnsl  -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lxml2 -lz -lm 1>&5
configure:59812: checking for MSSQL support via FreeTDS
configure:60473: checking for MySQL support
configure:60517: checking for specified location of the MySQL UNIX socket
configure:60738: checking for mysql_close in -lmysqlclient
configure:60757: gcc -o conftest -I/usr/include -g -O2 -fvisibility=hidden  -Wl,-rpath,/usr/local/mysql/lib -L/usr/local/mysql/lib -L/usr/lib  -Wl,-rpath,/usr/local/lib -L/usr/local/lib conftest.c -lmysqlclient  -lmcrypt -lfreetype -lpng -lz -ljpeg -lbz2 -lz -lrt -lm -ldl -lnsl  -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lxml2 -lz -lm 1>&5
/usr/bin/ld: skipping incompatible /usr/local/mysql/lib/libmysqlclient.so when searching for -lmysqlclient
/usr/bin/ld: skipping incompatible /usr/local/mysql/lib/libmysqlclient.a when searching for -lmysqlclient
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
configure: failed program was:
#line 60746 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char mysql_close();

int main() {
mysql_close()
; return 0; }
configure:60980: checking for mysql_error in -lmysqlclient
configure:60999: gcc -o conftest -I/usr/include -g -O2 -fvisibility=hidden  -Wl,-rpath,/usr/local/mysql/lib -L/usr/local/mysql/lib -L/usr/lib  -Wl,-rpath,/usr/local/lib -L/usr/local/lib -Wl,-rpath,/usr -L/usr conftest.c -lmysqlclient  -lz -lmcrypt -lfreetype -lpng -lz -ljpeg -lbz2 -lz -lrt -lm -ldl -lnsl  -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lxml2 -lz -lm 1>&5
/usr/bin/ld: skipping incompatible /usr/local/mysql/lib/libmysqlclient.so when searching for -lmysqlclient
/usr/bin/ld: skipping incompatible /usr/local/mysql/lib/libmysqlclient.a when searching for -lmysqlclient
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
configure: failed program was:
#line 60988 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char mysql_error();

int main() {
mysql_error()
; return 0; }
0

ninipig

赞同来自:

这是/etc/my.cnf的信息

-bash-4.1# grep -v '^#' /etc/my.cnf

[client]
port            = 3306
socket          = /tmp/mysql.sock


[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8


log-bin=mysql-bin

binlog_format=mixed

server-id       = 1




[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout



-bash-4.1# ps -ef |grep mysql
root      3567     1  0 17:35 pts/0    00:00:00 /bin/sh ./bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mydb.pid
mysql     3676  3567  0 17:35 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql --log-error=/data/mysql/mydb.err --pid-file=/data/mysql/mydb.pid --socket=/tmp/mysql.sock --port=3306
root      3689  1360  0 17:35 pts/0    00:00:00 grep mysql
-bash-4.1#
0

ninipig

赞同来自:

-bash-4.1# tail -n100 /data/mysql/mydb.err
141016 15:49:05 mysqld_safe Starting mysqld daemon with databases from /data/mysql
141016 15:49:05 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
141016 15:49:05  InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
141016 15:49:06  InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
141016 15:49:06  InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
141016 15:49:06  InnoDB: Started; log sequence number 0 0
141016 15:49:06 [Note] Event Scheduler: Loaded 0 events
141016 15:49:06 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.1.40-log'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)
141016 17:11:55 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown

141016 17:11:55 [Note] Event Scheduler: Purging the queue. 0 events
141016 17:11:55  InnoDB: Starting shutdown...
141016 17:11:55  InnoDB: Shutdown completed; log sequence number 0 44233
141016 17:11:55 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

141016 17:11:55 mysqld_safe mysqld from pid file /data/mysql/mydb.pid ended
141016 17:11:56 mysqld_safe Starting mysqld daemon with databases from /data/mysql
141016 17:11:56 [Note] Plugin 'FEDERATED' is disabled.
141016 17:11:56  InnoDB: Started; log sequence number 0 44233
141016 17:11:56 [Note] Event Scheduler: Loaded 0 events
141016 17:11:56 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.1.40-log'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)
141016 17:24:54 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown

141016 17:24:54 [Note] Event Scheduler: Purging the queue. 0 events
141016 17:24:54  InnoDB: Starting shutdown...
141016 17:24:55  InnoDB: Shutdown completed; log sequence number 0 44233
141016 17:24:55 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

141016 17:24:55 mysqld_safe mysqld from pid file /data/mysql/mydb.pid ended
141016 17:24:55 mysqld_safe Starting mysqld daemon with databases from /data/mysql
141016 17:24:55 [Note] Plugin 'FEDERATED' is disabled.
141016 17:24:55  InnoDB: Started; log sequence number 0 44233
141016 17:24:55 [Note] Event Scheduler: Loaded 0 events
141016 17:24:55 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.1.40-log'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)
141016 17:35:16 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown

141016 17:35:16 [Note] Event Scheduler: Purging the queue. 0 events
141016 17:35:16  InnoDB: Starting shutdown...
141016 17:35:17  InnoDB: Shutdown completed; log sequence number 0 44233
141016 17:35:17 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

141016 17:35:17 mysqld_safe mysqld from pid file /data/mysql/mydb.pid ended
141016 17:35:17 mysqld_safe Starting mysqld daemon with databases from /data/mysql
141016 17:35:17 [Note] Plugin 'FEDERATED' is disabled.
141016 17:35:18  InnoDB: Started; log sequence number 0 44233
141016 17:35:18 [Note] Event Scheduler: Loaded 0 events
141016 17:35:18 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.1.40-log'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)
-bash-4.1#
0

ninipig

赞同来自:

本帖最后由 ninipig 于 2014-10-16 18:01 编辑

无语了,怎么弄也弄不好
0

陈沛

赞同来自:

你的是不是缺少Mysql的东西!
请你先弄好了Mysql与Apache,在编译PHP
0

ninipig

赞同来自:

可以configure php了,但是在make以后,有人英文提示你让你make test一下

=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
Bug #43073 (TrueType bounding box is wrong for angle<>0) freetype < 2.4.10 [ext/gd/tests/bug43073.phpt]
ext/sockets - socket_bind - basic test [ext/sockets/tests/socket_bind.phpt]
ext/sockets - socket_strerror - basic test [ext/sockets/tests/socket_strerror.phpt]
gethostbyname() function - basic invalid parameter test [ext/standard/tests/network/gethostbyname_basic002.phpt]
gethostbyname() function - basic return valid ip address test [ext/standard/tests/network/gethostbyname_error004.phpt]
getmxrr() test [ext/standard/tests/network/getmxrr.phpt]
http-stream test [ext/standard/tests/network/http-stream.phpt]
Bug #64770 stream_select() fails with pipes from proc_open() [ext/standard/tests/streams/bug64770.phpt]
Bug #32001 (xml_parse*() goes into infinite loop when autodetection in effect), using UTF-* [ext/xml/tests/bug32001.phpt]
XMLReader: libxml2 XML Reader, DTD [ext/xmlreader/tests/008.phpt]
XMLReader: accessing empty and non existing attributes [ext/xmlreader/tests/012.phpt]
=====================================================================

You may have found a problem in PHP.
This report can be automatically sent to the PHP QA team at
http://qa.php.net/reports and http://news.php.net/php.qa.reports
This gives us a better understanding of PHP's behavior.
If you don't want to send the report immediately you can choose
option "s" to save it.  You can then email it to qa-reports@lists.php.net later.
Do you want to send this report now? [Yns]:

结果报错了,怎么办啊
0

ninipig

赞同来自:

版本就是php 5.3.27
0

笨魚1979

赞同来自:

2. 安装apache
wget http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz
tar zvxf httpd-2.2.16.tar.gz  
cd httpd-2.2.16
./configure --prefix=/usr/local/apache2 --with-included-apr  --with-pcre --enable-mods-shared=most
make && make install

【如何指定使用worker/prefork】 http://www.lishiming.net/thread-944-1-1.html
【apache两种工作模式】http://www.lishiming.net/thread-838-1-2.html

3.  安装php
wget http://cn2.php.net/distributions/php-5.3.28.tar.gz
tar zxf php-5.3.28.tar.gz
cd php-5.3.28
./configure   --prefix=/usr/local/php   --with-apxs2=/usr/local/apache2/bin/apxs   --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql   --with-libxml-dir   --with-gd   --with-jpeg-dir   --with-png-dir   --with-freetype-dir   --with-iconv-dir   --with-zlib-dir   --with-bz2   --with-openssl   --with-mcrypt   --enable-soap   --enable-gd-native-ttf   --enable-mbstring   --enable-sockets   --enable-exif   --disable-ipv6
+++++++++++++++++++++++
错误1:configure: error: xml2-config not found. Please check your libxml2 installation.
解决:
yum list |grep -i 'xml2'   
yum -y install libxml2-devel

错误2:configure: error: Cannot find OpenSSL's
解决:
yum list |grep -i 'OpenSSL'   
yum -y install openssl-devel

错误3:configure: error: Please reinstall the BZip2 distribution
解决:
yum list |grep -i 'BZip2'
yum -y install bzip2-devel

错误4:configure: error: jpeglib.h not found.
解决:
yum list |grep -i 'jpeg'
yum -y install libjpeg-turbo-devel
yum -y install openjpeg-devel

错误5:configure: error: png.h not found.
解决:
yum list |grep -i 'png'
yum -y install libpng-devel

错误6:configure: error: freetype.h not found.
yum list |grep -i 'freetype'
yum -y install freetype-devel

错误7:configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决:
yum list |grep -i 'mcrypt'
没找到!!!怎么办???
铭(306798658)  21:35:33
http://www.aminglinux.com/bbs/ ... Depel
铭(306798658)  21:35:43
www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm
先下载这个文件“epel-release-6-7.noarch.rpm”
然后安装
rpm -ivh epel-release-6-7.noarch.rpm
yum list |grep -i 'mcrypt'
yum -y install libmcrypt-devel
0

阿铭 管理员

赞同来自:

ninipig 发表于 2014-10-16 20:14
可以configure php了,但是在make以后,有人英文提示你让你make test一下

============================ ...

不用make test  直接 make install 即可
0

齐天大圣

赞同来自:

貌似出现make test了,说明make已经成功

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: