php源代码安装常见错误与解决办法分享
错误: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源代码安装常见错误与解决办法分享的更多相关文章
- github常见操作和常见错误及其解决办法
一.常见操作 1. 使用git在本地创建一个项目的过程 $ makdir ~/hello-world //创建一个项目hello-world $ cd ~/hello-world //打开这个项目 $ ...
- Docker Hadoop 配置常见错误及解决办法
Docker Hadoop 配置常见错误及解决办法 问题1:wordcount运行卡住,hadoop 任务运行到running job就卡住了 INFO mapreduce.Job: Running ...
- MVC MVC常见错误及解决办法
MVC常见错误及解决办法 问题1: 必须添加对程序集“EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5 ...
- Ubuntu下Linux配置内核各种常见错误和解决办法
镜像下载.域名解析.时间同步请点击阿里云开源镜像站 这篇把Ubuntu下Linux配置内核各种常见错误和解决办法给大家讲解一下,希望可以帮助到大家. 一.Ubuntu系统中缺少各种依赖包导致的问题 1 ...
- 使用wubi安装ubuntu14.04出现的常见错误的解决办法
花了一天的时间终于安装上了Ubuntu14.04,过程坎坷,是血泪史,开始报“cannot download the metalink and therefore the ISO”错误,解决后,又报“ ...
- Oracle的常见错误及解决办法
ORA-12528: TNS:listener: all appropriate instances are blocking new connections ORA-12528问题是因为监听中的服务 ...
- windows下安装sass,以及常见错误和解决办法
简介: sass依赖于ruby环境,安装sass之前得先装ruby. 1.安装ruby 1.1.下载地址:http://rubyinstaller.org/downloads 1.2.注意事项:安装时 ...
- MySQL常见错误及其解决办法
1.连接类 (1).问题:MySQL server has gone away 解决办法:出现该报错常见的原因是服务器超时了并且关闭了连接.缺省地,如果没有事情发生,服务器在 8个小时后关闭连接.如 ...
- linux下QT Creator常见错误及解决办法
最近因为在做一个关于linux下计算机取证的小项目,需要写一个图形界面,所以想到了用QT来写,选用了linux下的集成开发环境QT Creator5.5.1,但刚刚安装好,竟然连一个"hel ...
随机推荐
- python(4) - 装饰器2
接下来修改一下上一篇的login,将用户名传递给验证函数. def login(func): #接收一个函数作为参数 def inner(name): print("用户验证通过....&q ...
- oracle中序列的使用
转载:http://blog.csdn.net/java958199586/article/details/7360152 序列: 是oacle提供的用于产生一系列唯一数字的数据库对象. l 自动提 ...
- poj 2411 状态压缩dp
思路:将每一行看做一个二进制位,那么所有的合法状态为相邻为1的个数一定要为偶数个.这样就可以先把所有的合法状态找到.由于没一层的合法状态都是一样的,那么可以用一个数组保存.由第i-1行到第i行的状态转 ...
- 关闭 Flash 沙箱安全模式,解决浏览器高占用
经常碰到 Firefox 因 Flash 插件崩溃,到卡饭翻了翻,发现是 Flash 沙箱的问题.原文附带了去沙箱保护的 Flash 插件,可惜版本有点旧,遂自己动手解决. 注意:办法一适用于 [ 安 ...
- javascript深入理解闭包
一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量 ...
- IE9+浏览器input文本框/密码框后面的小叉子/小眼睛清除
为了方便我们的触控操作,IE高等浏览器针对input及input type="password"分别提供了快速清除钮(X图标)以及密码文字显示钮(小眼睛图标)的功能. 由于这经常跟 ...
- Quartz Scheduler(2.2.1) - Usage of JobDataMap
The JobDataMap can be used to hold any amount of (serializable) data objects which you wish to have ...
- Redis 命令 - Transactions
DISCARD Discard all commands issued after MULTI 127.0.0.1:6379> MGET bank:A:account bank:B:accoun ...
- spring+hibernate管理多个数据源(非分布式事务)
本文通过一个demo,介绍如何使用spring+hibernate管理多个数据源,注意,本文的事务管理并非之前博文介绍的分布式事务. 这个demo将使用两个事务管理器分别管理两个数据源.对于每一个独立 ...
- Apache 使用密码文件验证用户
使用文本文件作为密码文件 创建密码文件 需要使用htpasswd.exe文件来创建用户密码文件 语法: htpasswd -c '文件完整路径' 用户名 向一个用户密码文件中添加一个新用户 语法: h ...