PHP环境配置错误处理

【Linux apt-get 更换源】

1.问题描述:按照网上的教程编辑源列表文件后发现apt-get update 出现各种错误,导致更新失败

sudo vim /etc/apt/sources.list

2.分析:文件中的源地址语句 -> deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse ,红字部分要对应当前的系统版本。

3.解决方法:通过网页https://packages.ubuntu.com/查询版本,然后替换掉


【apr-util安装时的错误】

1.问题描述:./Configure时候报错 -> "xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory"

2.分析:缺少libexpat1-dev包

3.解决方案:apt-get install libexpat1-dev

备注:apr系列的安装参考博客 -> https://www.cnblogs.com/yuzhaokai0523/p/4382974.html


 【./Configure Apache时报错1】

1.问题描述:

configure: WARNING: OpenSSL version is too old
no
checking whether to enable mod_ssl... configure: error: mod_ssl has been requested but can not be built due to prerequisite failures

2.分析:已经有了OpenSSL依赖包,但是没有OpenSSL-devel依赖包(Ubuntu下 -> libssl-dev)

3.解决方法:

sudo apt-get install libssl-dev

备注:Configure语句:./configure --prefix=/usr/local/httpd --enable-so --enable-ssl --enable-rewrite --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event --with-included-apr 


 【./Configure Apache时报错2】

1.问题描述:

collect2: error: ld returned 1 exit status
Makefile:48: recipe for target 'htpasswd' failed
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory '/home/liyang/Downloads/httpd-2.4.37/support'
/home/liyang/Downloads/httpd-2.4.37/build/rules.mk:75: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/liyang/Downloads/httpd-2.4.37/support'
/home/liyang/Downloads/httpd-2.4.37/build/rules.mk:75: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

2.分析:已经编译过apr和apr-util,还是会出错。

3.解决方法:

把解压好的apr和apr-util 复制到 /apache_path/srclib/ 中去,再重新Configure  //红字部分是Down下来解压后的Apache目录

备注:Configure语句:./configure --prefix=/usr/local/httpd --enable-so --enable-ssl --enable-rewrite --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event --with-included-apr 


 【编译PHP后没有libphp7.so文件】

1.描述:/ust/local/htpd/modules/ 下没有libphp*.so 文件

2.分析:属于编译PHP时参数缺少的问题

3.解决方法:PHP解压目录下,加入红字部分

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/lib --with-zlib-dir=/usr/lib --with-apxs2=/usr/local/httpd/bin/apxs 

【成功案例】(亲测)

https://blog.csdn.net/sunjinyan_1/article/details/80502117


【编译php7.0.17报错提示 undefined reference to `libiconv_open'】 

1.描述:

/opt/src/php-7.0.17/ext/iconv/iconv.c:755: undefined reference to `libiconv_open'
/opt/src/php-7.0.17/ext/iconv/iconv.c:779: undefined reference to `libiconv'
/opt/src/php-7.0.17/ext/iconv/iconv.c:813: undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o: In function `_php_iconv_appendl':
/opt/src/php-7.0.17/ext/iconv/iconv.c:474: undefined reference to `libiconv'
/opt/src/php-7.0.17/ext/iconv/iconv.c:508: undefined reference to `libiconv'
ext/iconv/.libs/iconv.o: In function `_php_iconv_mime_decode':
/opt/src/php-7.0.17/ext/iconv/iconv.c:1505: undefined reference to `libiconv_open'
/opt/src/php-7.0.17/ext/iconv/iconv.c:1998: undefined reference to `libiconv_close'
/opt/src/php-7.0.17/ext/iconv/iconv.c:2001: undefined reference to `libiconv_close'
/opt/src/php-7.0.17/ext/iconv/iconv.c:1616: undefined reference to `libiconv_close'
/opt/src/php-7.0.17/ext/iconv/iconv.c:1619: undefined reference to `libiconv_open'
ext/iconv/.libs/iconv.o: In function `_php_iconv_substr':
--------------------- 
作者:大事龙 
来源:CSDN 
原文:https://blog.csdn.net/w_yunlong/article/details/69944433 
版权声明:本文为博主原创文章,转载请附上博文链接!

2.解决方法:make 时增加 ZEND_EXTRA_LIBS=’-liconv’ 

原文地址:https://www.cnblogs.com/remly/p/9841578.html