博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
源码编译PHP7遇到的错误及解决方案
阅读量:6080 次
发布时间:2019-06-20

本文共 5266 字,大约阅读时间需要 17 分钟。

  hot3.png

缘起

最近在win10子系统中源码安装PHP7,遇到了各种问题,谷歌之记录解决方法。

下载源码

PHP源码有三个获取方式:

  1. Github下载,
  2. git.php.net 下载
  3. 压缩包下载

这个里选择Github下载:

//更新依赖sudo apt-get update  sudo apt-get install build-essential  //安装依赖sudo apt-get install -y autoconf libtool re2c libxml2-dev openssl libcurl4-openssl-dev  libbz2-dev libjpeg-dev libpng12-dev libfreetype6-dev libldap2-dev  libmysqlclient-dev libxslt1-dev libxt-dev libpcre3-dev libxpm-dev libt1-dev libgmp-dev libpspell-dev librecode-dev libreadline6-dev bison libtidy-dev  //下载源码wget https://github.com/php/php-src/archive/php-7.0.20.tar.gz//解压tar -xzvf php-7.0.20.tar.gzcd php-7.0.20//生成configure文件./autoconf//检查配置./configure --prefix=/usr/local/php7 --exec-prefix=/usr/local/php7 --bindir=/usr/local/php7/bin --sbindir=/usr/local/php7/sbin --includedir=/usr/local/php7/include --libdir=/usr/local/php7/lib/php --mandir=/usr/local/php7/php/man --with-config-file-path=/usr/local/php7/etc --with-mysql-sock=/var/run/mysql/mysql.sock --enable-opcache --enable-ctype --enable-fpm --enable-tokenizer --enable-fileinfo --enable-pdo --enable-sockets --enable-exif --enable-soap --enable-ftp --enable-wddx --enable-pcntl --enable-soap --enable-bcmath --enable-mbstring --enable-dba  --enable-gd-jis-conv --enable-zip --enable-calendar --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-mysqli --with-pdo-mysql --with-pdo-sqlite --with-iconv --with-gmp --with-pspell --with-gettext --with-xmlrpc --with-openssl --with-mhash --with-xsl --with-curl --with-pcre-regex --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr  --with-gettext=/usr --with-zlib=/usr --with-bz2=/usr --with-recode=/usr --with-ldap --with-pear --with-readline//编译并安装make && make install

-v参数表示输出版本号,如果命令执行完后看到输出php版本信息则说明编译成功。

常见错误

错误一

configure: error: xml2-config not found. Please check your libxml2 installation.

解决

apt-get install libxml2-dev

错误二

/usr/bin/mysql_config: No such file or directory

解决:

apt-get install mysql-server mysql-client libmysqlclient-dev

错误三

Warning: Declaration of PEAR_Installer::download() should be compatible with & PEAR_Downloader::download($params) in phar:///root/php7/php-src/pear/install-pear-nozlib.phar/PEAR/Installer.php on line 43Warning: Declaration of PEAR_PackageFile_Parser_v2::parse() should be compatible with PEAR_XMLParser::parse($data) in phar:///root/php7/php-src/pear/install-pear-nozlib.phar/PEAR/PackageFile/Parser/v2.php on line 113[PEAR] Archive_Tar - installed: 1.3.13[PEAR] Console_Getopt - installed: 1.3.1[PEAR] Structures_Graph- installed: 1.0.4Warning: Declaration of PEAR_Task_Replace::init() should be compatible with PEAR_Task_Common::init($xml, $fileAttributes, $lastVersion) in phar:///root/php7/php-src/pear/install-pear-nozlib.phar/PEAR/Task/Replace.php on line 31[PEAR] XML_Util - installed: 1.2.3Warning: Declaration of PEAR_Task_Windowseol::init() should be compatible with PEAR_Task_Common::init($xml, $fileAttributes, $lastVersion) in phar:///root/php7/php-src/pear/install-pear-nozlib.phar/PEAR/Task/Windowseol.php on line 76Warning: Declaration of PEAR_Task_Unixeol::init() should be compatible with PEAR_Task_Common::init($xml, $fileAttributes, $lastVersion) in phar:///root/php7/php-src/pear/install-pear-nozlib.phar/PEAR/Task/Unixeol.php on line 76[PEAR] PEAR - installed: 1.9.5Wrote PEAR system config file at: /root/php7/usr/etc/pear.conf

解决:

You may want to add: /root/php7/usr/lib/php to your php.ini include_path/root/php7/php-src/build/shtool install -c ext/phar/phar.phar /root/php7/usr/bin

错误四

configure: WARNING: unrecognized options: --with-mysql

解决:

改用 -with-pdo-mysql

错误五

checking for bison version... invalidconfigure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: none, min: 204, excluded: ).checking for re2c... noconfigure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.configure: error: bison is required to build PHP/Zend when building a GIT checkout!

解决

apt-get install bison

错误六

configure: error: Cannot find OpenSSL's

解决

apt-get install libssl-dev

错误七

configure: error: Cannot find OpenSSL's libraries

解决

apt-get install libssl-dev

错误

checking for BZip2 in default path… not foundconfigure: error: Please reinstall the BZip2 distribution

解决

apt-get install libbz2-dev

错误

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

解决

apt-get install libcurl4-openssl-dev

错误

If configure fails try --with-vpx-dir=configure: error: jpeglib.h not found.

解决

apt-get install libjpeg-dev

错误

configure: error: png.h not found.

解决

apt-get install libpng12-dev

错误

configure: error: freetype-config not found.

解决

apt-get install libfreetype6-dev

错误

//PHP7以上版本已经废弃了mcrpyt扩展,请使用openssl代替.configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解决

apt-get install libmcrypt-dev

错误

configure: error: Cannot find pspell

解决

apt-get install libpspell-dev

错误

PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.

解决

pear install pear/PHP_Archive

错误

checking for recode support... yesconfigure: error: Can not find recode.h anywhere under /usr /usr/local /usr /opt.

解决

apt-get install librecode-dev

转载于:https://my.oschina.net/idufei/blog/1805961

你可能感兴趣的文章
centos使用docker下安装mysql并配置、nginx
查看>>
关于HTML5的理解
查看>>
需要学的东西
查看>>
Internet Message Access Protocol --- IMAP协议
查看>>
Linux 获取文件夹下的所有文件
查看>>
对 Sea.js 进行配置(一) seajs.config
查看>>
第六周
查看>>
解释一下 P/NP/NP-Complete/NP-Hard 等问题
查看>>
javafx for android or ios ?
查看>>
微软职位内部推荐-Senior Software Engineer II-Sharepoint
查看>>
sql 字符串操作
查看>>
【转】Android布局优化之ViewStub
查看>>
网络安全管理技术作业-SNMP实验报告
查看>>
根据Uri获取文件的绝对路径
查看>>
Flutter 插件开发:以微信SDK为例
查看>>
.NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?...
查看>>
边缘控制平面Ambassador全解读
查看>>
Windows Phone 7 利用计时器DispatcherTimer创建时钟
查看>>
程序员最喜爱的12个Android应用开发框架二(转)
查看>>
vim学习与理解
查看>>