1.apache 升级
新下载apache
提示少apr apr-util pcre
果断下载最新版,安装,然后--with- 指定地址
2.启动apache报错
根据提示,重装mysql
重装陈功
目前重装php中
各种报错,
configure: error: mysql configure failed. Please check config.log for more information.
准备更换新版本mysql
没有更换
根据config.log
configure:59628: gcc -o conftest -I/usr/include -g -O2 -pthread -D_REENTRANT -Wl,-rpath,/usr/local/mysql//lib/mysql -L/usr/local/mysql//lib/mysql -L/usr/lib -Wl,-rpath,/usr/local/libxml2/lib -L/usr/local/libxml2/lib -Wl,-rpath,/usr/local/jpeg8//lib -L/usr/local/jpeg8//lib -Wl,-rpath,/usr/local/freetype//lib -L/usr/local/freetype//lib -Wl,-rpath,/usr/local/gd//lib -L/usr/local/gd//lib -Wl,-rpath,/usr/local/libmcrypt//lib -L/usr/local/libmcrypt//lib conftest.c -lmysqlclient_r -lmcrypt -lltdl -lgd -lfreetype -ljpeg -lresolv -lm -ldl -lnsl -lxml2 -lm -lxml2 -lm 1>&5
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
configure: failed program was:
#line 59617 "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:59851: checking for mysql_error in -lmysqlclient_r
configure:59870: gcc -o conftest -I/usr/include -g -O2 -pthread -D_REENTRANT -Wl,-rpath,/usr/local/mysql//lib/mysql -L/usr/local/mysql//lib/mysql -L/usr/lib -Wl,-rpath,/usr/local/libxml2/lib -L/usr/local/libxml2/lib -Wl,-rpath,/usr/local/jpeg8//lib -L/usr/local/jpeg8//lib -Wl,-rpath,/usr/local/freetype//lib -L/usr/local/freetype//lib -Wl,-rpath,/usr/local/gd//lib -L/usr/local/gd//lib -Wl,-rpath,/usr/local/libmcrypt//lib -L/usr/local/libmcrypt//lib -Wl,-rpath,/usr -L/usr conftest.c -lmysqlclient_r -lz -lmcrypt -lltdl -lgd -lfreetype -ljpeg -lresolv -lm -ldl -lnsl -lxml2 -lm -lxml2 -lm 1>&5
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
configure: failed program was:
#line 59859 "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; }
找不到-lltdl
找到libltdl文件夹
find / -name libltdl
./configure -enable-ltdl-install
make
make install
然后
进入php文件夹
执行
./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg8/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets
没问题
make报错
ext/standard/.libs/info.o: In function `php_info_print_table_header':
/download/LAMP/php-5.2.6/ext/standard/info.c:879: undefined reference to `ts_resource_ex'
ext/standard/.libs/info.o: In function `php_info_print_table_row_internal':
/download/LAMP/php-5.2.6/ext/standard/info.c:923: undefined reference to `ts_resource_ex'
ext/standard/.libs/info.o: In function `php_print_gpcse_array':
/download/LAMP/php-5.2.6/ext/standard/info.c:133: undefined reference to `executor_globals_id'
ext/standard/.libs/info.o: In function `php_info_write_wrapper':
/download/LAMP/php-5.2.6/ext/standard/info.c:67: undefined reference to `ts_resource_ex'
ext/standard/.libs/info.o: In function `php_print_info':
/download/LAMP/php-5.2.6/ext/standard/info.c:747: undefined reference to `executor_globals_id'
/download/LAMP/php-5.2.6/ext/standard/info.c:750: undefined reference to `executor_globals_id'
/download/LAMP/php-5.2.6/ext/standard/info.c:753: undefined reference to `executor_globals_id'
/download/LAMP/php-5.2.6/ext/standard/info.c:756: undefined reference to `executor_globals_id'
/download/LAMP/php-5.2.6/ext/standard/info.c:680: undefined reference to `sapi_globals_id'
/download/LAMP/php-5.2.6/ext/standard/info.c:468: undefined reference to `sapi_globals_id'
/download/LAMP/php-5.2.6/ext/standard/info.c:659: undefined reference to `sapi_globals_id'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] 错误 1
正在找解决办法
make clean
make
Build complete.
Don't forget to run 'make test'.
make install
应该是成功了
[root@localhost php-5.2.6]# /usr/local/apache2/bin/apachectl start
httpd: Syntax error on line 57 of /etc/httpd/httpd.conf: Cannot load modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: undefined symbol: unixd_config
apache启动发生错误
1.http2.2.* 不能直接升级到2.4.1,需要先停止apache,将http.conf 改名成http.conf-2.2.*
2.http2.4.1 目前不再支持php5.2.* 可用的php为5.3.10
php5.2* 会报 httpd: Syntax error on line 163 of httpd.conf: Cannot load modules/libphp5.so into server: modules/libphp5.so: undefined symbol: unixd_config
apache版本2.4.6
php版本5.2.6
下载最新版php PHP-5.5.3.tar.gz
./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg8/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets
报错
checking for T1lib support... no
checking whether to enable truetype string function in GD... no
checking whether to enable JIS-mapped Japanese font support in GD... no
If configure fails try --with-vpx-dir=<DIR>
checking for jpeg_read_header in -ljpeg... yes
configure: error: png.h not found.
重新编译安装 libpng 尝试指定目录 --with-png-dir=/usr/local/libpng/
继续报错 configure: error: Unable to find libgd.(a|so) >= 2.1.0 anywhere under /usr/local/gd/
重装GD库
./configure --prefix=/usr/local/gd --with-png=/usr/local/libpng/ --with-jpeg=/usr/local/jpeg8/ --with-freetype=/usr/local/freetype/
GD库重装成功
尝试重装PHP
依然报错
查找到libgd.*位置
复制到/usr/local/gd/
依然找不到。
找到原因,GD库版本过低,低于2.1.0 下载最新版本
./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg8/ --with-freetype=/usr/local/freetype/ --with-png=/usr/local/libpng/
make && make install
成功
[root@localhost php-5.5.3]# ./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg8/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd/ --with-png-dir=/usr/local/libpng/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets
无报错
make
/download/LAMP/php-5.5.3/ext/gd/gd.c:57:22: 错误:X11/xpm.h:没有那个文件或目录
下载libxpm 解压 移动位置到/usr/local/libxpm
添加 --with-libXpm-dir=/usr/local/libxpm
失败
使用yum install libXmp-devel
重装GD库,支持Xmp
PHP去掉 --with-libXpm-dir=/usr/local/libxpm
无报错
make && make install
成功
重启后,/usr/local/apache2/bin/apachectl start
httpd: Syntax error on line 58 of /etc/httpd/httpd.conf: Could not open config directory /usr/local/apache2/conf.d: No such file or directory
新建conf.d后,
httpd: Syntax error on line 58 of /etc/httpd/httpd.conf: Could not open config directory /usr/local/apache2/conf.d: No such file or directory
失败
删除apache 所有文件夹 /etc/httpd /var/www /usr/local/apache2
重新安装,成功
PHP重新编译安装
成功架构LAMP