Home  >  Article  >  Backend Development  >  Sharing common errors and solutions for PHP source code installation_PHP Tutorial

Sharing common errors and solutions for PHP source code installation_PHP Tutorial

WBOY
WBOYOriginal
2016-07-21 15:10:33951browse

Error: configure: error: libevent >= 1.4.11 could not be found

Solution: yum -y install libevent libevent-devel



Error: configure: error : Please reinstall the mysql distributio

Solution: yum -y install mysql-devel



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

Solution: Use make ZEND_EXTRA_LIBS='-liconv' to compile



Error: configure: error: XML configuration could not be found

Solution: yum -y install libxml2 libxml2-devel



Error: configure: error: No curses/termcap library found

Solution: yum -y install ncurses ncurses-devel



Error: configure: error: xml2-config not found

Solution: yum -y install libxml2 libxml2-devel



Error :configure: error: Cannot find OpenSSL's

Solution: yum install openssl openssl-devel



Error: configure: error: Please reinstall the libcurl distribution -easy.h should be in /include/curl/

Solution: yum install curl curl-devel



Error: configure: error : Cannot find ldap.h

Solution: yum install openldap openldap-devel



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

Solution: yum install libjpeglibjpeg -devel



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

Solution: yum install libpnglibpng – devel



Error: configure: error: freetype.h not found.

Solution: yum install freetype-devel



Error: configure: error: cannot find output from lex; giving up

Solution: yum -y install flex



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

Solution: yum -y install zlib-devel openssl-devel



Error: Configure: error: Unable to locate gmp.h

Solution: yum install gmp-devel



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

Note that the MySQL client library is not bundled anymore!

Solution: yum install mysql-devel

More supplementary content:

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

yum -y install libxml2 libxml2-devel

Cannot find OpenSSL's
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
#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 /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[] */
};
In the file Finally add the following code
PHP_FUNCTION(say_hello)
{
  zend_printf("hello sdomain!");
}
Modify again: php_sdomain.h
vi php_sdomain.h
Add a line below PHP_FUNCTION(confirm_my_module_compiled); /* For testing, remove later. */:
PHP_FUNCTION(say_hello); /* For testing, remove later. */
Save the file and exit
Then we can use the above command in this directory
 /usr/local/php/bin/phpize
After execution, you will see the following
 [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]#
Then execute ./configure --with-php-config=/usr/local/php/bin/php-config
Then execute make
make install
Then it will generate and put the corresponding so file Go to a folder under the PHP installation directory and ask where it is, and then copy the SO file inside to the place where you store the SO file
That is, the location specified by extension_dir in php.ini
The last step is to open the extension in the php.ini file
extension=sdomain.so
Then
restart apache

The above errors are all problems encountered during the entire compilation and installation , and then combined with the information on the Internet and the solutions found, I summarized it in this place. I hope it can help everyone!

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/327108.htmlTechArticleError: configure: error: libevent = 1.4.11 could not be found Solution: yum -y install libevent libevent- devel error: configure: error: Please reinstall the mysql distributio Solution...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn