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 相关文章推荐
用Socket发送电子邮件
Oct 09 PHP
基于文本的搜索
Oct 09 PHP
PHP生成静态页面详解
Nov 19 PHP
php下关于中英数字混排的字符串分割问题
Apr 06 PHP
分享常见的几种页面静态化的方法
Jan 08 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
Nov 09 PHP
基于CI框架的微信网页授权库示例
Nov 25 PHP
php简单生成一组与多组随机字符串的方法
May 09 PHP
ThinkPHP5+Layui实现图片上传加预览功能
Aug 17 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
Apr 16 PHP
Laravel 自动生成验证的实例讲解:login / logout
Oct 14 PHP
PHP7 新增常量
Mar 09 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
Terran建筑一览
2020/03/14 星际争霸
通过PHP CLI实现简单的数据库实时监控调度
2009/07/01 PHP
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
JavaScript中reduce()方法的使用详解
2015/06/09 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
JavaScript实现Java中Map容器的方法
2016/10/09 Javascript
JavaScript实现图片懒加载(Lazyload)
2016/11/28 Javascript
理解javascript中的闭包
2017/01/11 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
import与export在node.js中的使用详解
2017/09/28 Javascript
Vue实现内部组件轮播切换效果的示例代码
2018/04/07 Javascript
Vue.directive使用注意(小结)
2018/08/31 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
3分钟了解vue数据劫持的原理实现
2019/05/01 Javascript
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
Python用61行代码实现图片像素化的示例代码
2018/12/10 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
Python 等分切分数据及规则命名的实例代码
2019/08/16 Python
python迭代器常见用法实例分析
2019/11/22 Python
python中取绝对值简单方法总结
2020/07/24 Python
美国打印机墨水和碳粉购物网站:QuikShip Toner
2018/08/29 全球购物
Oracle快照(snapshot)
2015/03/13 面试题
求职意向书范文
2014/04/01 职场文书
会计演讲稿范文
2014/05/23 职场文书
电子商务专业应届毕业生求职信
2014/06/21 职场文书
医药销售自我评价200字
2014/09/11 职场文书
开学季:喜迎新生,迎新标语少不了
2019/11/07 职场文书
win10如何快速切换窗口 win10切换窗口快捷键分享
2022/07/23 数码科技