php源代码安装常见错误与解决办法分享


Posted in PHP onMay 28, 2013

错误:configure: error: libevent >= 1.4.11 could not be found

解决:yum -y install libevent libevent-devel

错误:configure: error: Please reinstall the mysql distributio

解决:yum -y install mysql-devel

错误:make: *** [sapi/fpm/php-fpm] error 1

解决:用make ZEND_EXTRA_LIBS='-liconv'编译

错误:configure: error: XML configuration could not be found

解决:yum -y install libxml2 libxml2-devel

错误:configure: error: No curses/termcap library found

解决:yum -y install ncurses ncurses-devel

错误:configure: error: xml2-config not found

解决:yum -y install libxml2 libxml2-devel

错误:configure: error: Cannot find OpenSSL's <evp.h>

解决:yum install openssl openssl-devel

错误:configure: error: Please reinstall the libcurl distribution -easy.h should be in <curl-dir>/include/curl/

解决:yum install curl curl-devel

错误:configure: error: Cannot find ldap.h

解决:yum install openldap openldap-devel

错误:configure: error: libjpeg.(a|so) not found

解决:yum install libjpeglibjpeg -devel

错误:configure: error: libpng.(a|so) not found.

解决:yum install libpnglibpng ?devel

错误:onfigure: error: freetype.h not found.

解决:yum install freetype-devel

错误:configure: error: cannot find output from lex; giving up

解决:yum -y install flex

错误:configure: error: mod_deflate has been requested but can not be built due to prerequisite failures

解决:yum -y install zlib-devel openssl-devel

错误:Configure: error: Unable to locate gmp.h

解决:yum install gmp-devel

错误:Configure: error: Cannot find MySQL header files under /usr.

Note that the MySQL client library is not bundled anymore!

解决:yum install mysql-devel

更多的补充内容:

安装php: ./configure
configure: error: XML configuration could not be found

yum -y install libxml2 libxml2-devel

Cannot find OpenSSL's <evp.h>
yum install openssl openssl-devel

1) Configure: error: xml2-config not found. Please check your libxml2 installation.
#yum install libxml2 libxml2-devel (For RedHat & Fedora)
# aptitude install libxml2-dev (For Ubuntu)

2) Checking for pkg-config… /usr/bin/pkg-config
configure: error: Cannot find OpenSSL's <evp.h>
#yum install openssl openssl-devel

3) Configure: error: Please reinstall the BZip2 distribution
# yum install bzip2 bzip2-devel

4) Configure: error: Please reinstall the libcurl distribution -
easy.h should be in <curl-dir>/include/curl/
# yum install curl curl-devel (For RedHat & Fedora)
# install libcurl4-gnutls-dev (For Ubuntu)

5) Configure: error: libjpeg.(also) not found.
# yum install libjpeg libjpeg-devel

6) Configure: error: libpng.(also) not found.
# yum install libpng libpng-devel

7) Configure: error: freetype.h not found.
#yum install freetype-devel

8) Configure: error: Unable to locate gmp.h
# yum install gmp-devel

9) Configure: error: Cannot find MySQL header files under /usr.
Note that the MySQL client library is not bundled anymore!
# yum install mysql-devel (For RedHat & Fedora)
# apt-get install libmysql++-dev (For Ubuntu)

10) Configure: error: Please reinstall the ncurses distribution
# yum install ncurses ncurses-devel

11) Checking for unixODBC support… configure: error: ODBC header file ‘/usr/include/sqlext.h' not found!
# yum install unixODBC-devel

12) Configure: error: Cannot find pspell
# yum install pspell-devel

13) configure: error: mcrypt.h not found. Please reinstall libmcrypt.
# yum install libmcrypt libmcrypt-devel (For RedHat & Fedora)
# apt-get install libmcrypt-dev

14) Configure: error: snmp.h not found. Check your SNMP installation.
# yum install net-snmp net-snmp-devel

15)
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1
# yum install libtool-ltdl.x86_64 libtool-ltdl-devel.x86_64

16)
为php编译xcache模块的时候,需要运行phpize
得到了一个错误
#/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF
environment variable is set correctly and then rerun this script.
通过安装 autoconf 可以解决
centos下执行 yum install autoconf 即可
Ubuntu下执行 apt-get install autoconf 即可
17)
# /usr/local/php/bin/phpize
Cannot find config.m4.
Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module
修改方法:
[root@centos lnmp]# cd php-5.2.14ext/
[root@centos ext]# ./ext_skel --extname=my_module
Creating directory my_module
Creating basic files: config.m4 config.w32 .cvsignore my_module.c php_my_module.h CREDITS EXPERIMENTAL tests/001.phpt my_module.php [done].
To use your new extension, you will have to execute the following steps:
1. $ cd ..
2. $ vi ext/my_module/config.m4
3. $ ./buildconf
4. $ ./configure --[with|enable]-my_module
5. $ make
6. $ ./php -f ext/my_module/my_module.php
7. $ vi ext/my_module/my_module.c
8. $ make
Repeat steps 3-6 until you are satisfied with ext/my_module/config.m4 and
step 6 confirms that your module is compiled into PHP. Then, start writing
code and repeat the last two steps as often as necessary.
[root@centos ext]# cd my_module/
[root@centos my_module]# vim config.m4
根据你自己的选择将
dnl PHP_ARG_WITH(my_module, for my_module support,
dnl Make sure that the comment is aligned:
dnl [ --with-my_module Include my_module support])
修改成
PHP_ARG_WITH(my_module, for my_module support,
Make sure that the comment is aligned:
[ --with-my_module Include my_module support])
或者将
dnl PHP_ARG_ENABLE(my_module, whether to enable my_module support,
dnl Make sure that the comment is aligned:
dnl [ --enable-my_module Enable my_module support])
修改成
PHP_ARG_ENABLE(my_module, whether to enable my_module support,
Make sure that the comment is aligned:
[ --enable-my_module Enable my_module support])
[root@centos my_module]# vim my_module.c

将文件其中的下列代码进行修改
/* Every user visible function must have an entry in my_module_functions[].
*/
function_entry my_module_functions[] = {

PHP_FE(say_hello,

  NULL) /* ?添加着一行代码 */

PHP_FE(confirm_my_module_compiled,

 NULL) /* For testing, remove later. */

{NULL, NULL, NULL}

 /* Must be the last line in my_module_functions[] */
};

在文件的最后添加下列代码
PHP_FUNCTION(say_hello)
{

zend_printf("hello sdomain!");
}
再修改:php_sdomain.h
vi php_sdomain.h
在PHP_FUNCTION(confirm_my_module_compiled ); /* For testing, remove later. */ 这行的下面添加一行:
PHP_FUNCTION(say_hello); /* For testing, remove later. */

保存文件退出

然后我们就可以在这个目录下使用上面的命令了

/usr/local/php/bin/phpize

执行以后会看到下面的

[root@ns sdomain]# /usr/local/php/bin/phpize

Configuring for:

PHP Api Version:

20020918

Zend Module Api No:

 20020429

Zend Extension Api No:  20050606

[root@ns sdomain]#

然后执行./configure --with-php-config=/usr/local/php/bin/php-config

然后执行make
  make install
然后他会把对应的so文件生成放到PHP安装目录下面的一个文件夹,并提示在在什么地方,然后再把里面的SO文件拷到你存放SO文件的地方

即你在php.ini里面的extension_dir所指定的位置

最后一步是你在php.ini文件中打开这个扩展

extension=sdomain.so

然后

重新起动apache

以上错误都是在整个编译安装遇到的问题,然后结合网上的资料,找到的解决方法,总结到这个地方,希望能帮到大家!

PHP 相关文章推荐
一个数据采集类
Feb 14 PHP
PHP 操作文件的一些FAQ总结
Feb 12 PHP
简单PHP上传图片、删除图片实现代码
May 12 PHP
PHP Class&amp;Object -- PHP 自排序二叉树的深入解析
Jun 25 PHP
php读取图片内容并输出到浏览器的实现代码
Aug 08 PHP
php读取3389的脚本
May 06 PHP
PHP类中的魔术方法(Magic Method)简明总结
Jul 08 PHP
Laravel框架中扩展函数、扩展自定义类的方法
Sep 04 PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
Apr 22 PHP
Thinkphp批量更新数据的方法汇总
Jun 29 PHP
PHP实现简单的模板引擎功能示例
Sep 02 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
May 27 #PHP
php 深入理解strtotime函数的使用详解
May 23 #PHP
如何使用PHP计算上一个月的今天
May 23 #PHP
解析php二分法查找数组是否包含某一元素
May 23 #PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
May 23 #PHP
php设计模式之观察者模式的应用详解
May 21 #PHP
php设计模式之命令模式的应用详解
May 21 #PHP
You might like
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
2016/09/23 PHP
dojo 之基础篇
2007/03/24 Javascript
JavaScript 创建对象
2009/07/17 Javascript
document.onreadystatechange事件的用法分析
2009/10/17 Javascript
JQuery 解析多维的Json数据格式
2009/11/02 Javascript
Jquery插件easyUi表单验证提交(示例代码)
2013/12/30 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
js 调用百度地图api并在地图上进行打点添加标注
2014/05/13 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
2015/08/25 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
JavaScript实现水平进度条拖拽效果
2017/01/18 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
js 两数组去除重复数值的实例
2017/12/06 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
2017/12/29 Javascript
前端MVVM框架解析之双向绑定
2018/01/24 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
[45:32]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python实现设置windows桌面壁纸代码分享
2015/03/28 Python
关于pytorch处理类别不平衡的问题
2019/12/31 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
应届生.NET方向面试题
2015/05/23 面试题
yy结婚证婚词
2014/01/10 职场文书
安全资金保障制度
2014/01/23 职场文书
餐饮部总监岗位职责范文
2014/02/13 职场文书
落实八项规定专题民主生活会对照检查材料
2014/09/15 职场文书
销售人才自我评价范文
2014/09/27 职场文书
经典导游欢迎词
2015/01/26 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
Golang二维数组的使用方式
2021/05/28 Golang