From the guide (https://wiki.php.net/phpng):./buildconfmkdir ~/tmpcd ~/tmpgit clone https://git.php.net/repository/php-src.gitcd php-src到目前为止,一切都很好.此时,我开始遇到问题:So far so good. At this point I started having problems: ./buildconf./buildconf报告我没有安装make.解决方案在这里找到: https://askubuntu.com/questions/192645/make-command-not-foundReported that I did not have make installed. The solution was found here:https://askubuntu.com/questions/192645/make-command-not-found我尝试了这个,但是仍然有问题,所以我这样做:I tried this, but still had problems so I did this:sudo apt-get purge makesudo apt-get install make当我再次尝试./buildconf时,出现下一个问题,它抱怨我没有自动配置.解决方法如下:Next problem when I tried ./buildconf again it complained that I did not have autoconfig. Here’s the solution to that:sudo apt-get install autoconf现在终于可以运行./configure命令并得到了:Now finally got to run ./configure command and got this: 配置:警告:如果需要,您将需要re2c 0.13.4或更高版本 重新生成PHP解析器.配置:错误:需要安装野牛 建立GIT结帐时使用PHP/Zend! configure: 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!安装Bison似乎也要安装re2c,因此可以解决两个问题:Installing Bison also appears to install re2c as well so this fixes both problems:sudo apt-get install bison配置搅动了一段时间,然后通过以下方式将其吐出:Config churned along for quite some time and then puked with: 配置:错误:找不到xml2-config.请检查您的libxml2安装. configure: error: xml2-config not found. Please check your libxml2 installation.应该很容易解决吗?只需运行:Should be an easy fix right? Just run:sudo apt-get install libxml2不.没那么容易.我们已经有了最新和最出色的功能:Nope. Not that easy. We already have the latest and greatest for this: libxml2已经是最新版本. libxml2 is already the newest version.好的.也许我们可以像制作,清除和重新安装后一样解决此问题:Okay. Maybe we can solve this like we did make and purge and reinstall: sudo apt-get清除libxml2sudo apt-get install libxml2sudo apt-get purge libxml2sudo apt-get install libxml2不.在同一错误上运行./configure barfs.如此抢救:Nope. Running ./configure barfs on the same error. SO to the rescue: 如何修复从源代码安装PHP时找不到的xml2-config错误?显然,我们需要该库的开发版本:Aparently we need the development version of this library:sudo apt-get install libxml2-dev ./再次配置,我们已经取得进展...一个新错误:./configure again and we have progress...a new error: 配置:错误:找不到OpenSSL的 configure: error: Cannot find OpenSSL's从我们的最后一次尝试中吸取教训,让我们尝试:Learning from our last foray let’s try:sudo apt-get install openssl-dev或sudo apt-get install open-ssl-dev不,好的,我们来进行搜索:Nope, Okay let’s do a search for this:apt-cache search openssl哇,好多包.让我们缩小一点:Wow, that’s quite a few packages. Let’s narrow it down a bit:apt-cache search openssl | grep php这给了我们一个较小的列表,但是所有人都在前面使用了php5,而我们正在做一个php7(从头开始构建phpng Next Generation);这些软件包中的任何一个都能工作吗?进入我们的解决方案的互连网:Well that gives us a smaller list, but all have php5 in the front and we are doing a php7 (phpng Next Generation build from scratch); will any of these packages work? Off to the interwebs for our solution: https://serverfault.com/questions/415458/php-error -cannot-find-openssls-evp-hsudo apt-get install libcurl4-openssl-dev pkg-config让我们看看是否使./configure感到高兴(不,但是进步了...一个新错误):Let’s see if that made ./configure happy (nope, but progress...a new error): 配置:错误:请重新安装BZip2发行版 configure: error: Please reinstall the BZip2 distribution再次搜索网络会导致我们:Searching the web again leads us to: http://zgadzaj .com/how-to-install-php-53-and-52-together-on-ubuntu-1204告诉我们要这样做:sudo apt-get install libbz2-dev再一次,我们向./configure神祈祷...Once again we send a prayer to the ./configure god and... 如果配置失败,请尝试--with-vpx-dir = 配置:错误:找不到jpeglib.h. If configure fails try --with-vpx-dir= configure: error: jpeglib.h not found.到网络!!发现了此内容: http://www.omniweb.com/wordpress/?p= 1040sudo apt-get install libjpeg-dev再次尝试并进行调查:Try ./configure again and SURVEY SAYS: 配置:错误:未找到png.h. configure: error: png.h not found.在与上述网站相同的网站上说:From the same website as above it says to do this:sudo apt-get install libpng-dev再次尝试和调查说:Try ./configure AGAIN and SURVEY SAYS: 找不到配置错误xpm.h configure error xpm.h not found我在黑暗中刺了一下,并用以下方法击中了目标:I took a stab in the dark and hit the target with:sudo apt-get install libxpm-dev再一次向./configure神祈祷,答案是:Once again praying to the ./configure god and the reply is: 配置:错误:未找到freetype-config. configure: error: freetype-config not found.万能的Google在这里将我们引向SO神:The ALL KNOWING Google directs us to the SO god here: 配置php 5.3失败,并显示错误:找不到freetype.h(但已安装libfreetype6-dev)sudo apt-get install libfreetype6-dev到目前为止,您可能已经认识到以下模式:By now you have probably recognized the pattern of: 运行./configurerun ./configure在您喜欢的搜索引擎上搜索错误消息,或者直接搜索在SO上.Search the error message on your favorite search engine or directlyon SO.通过apt-get安装缺少的组件.Install the missing component via apt-get. GOTO 1.所以从现在开始,我将仅显示错误以及apt-get命令或其他解决问题的命令:So from here on I am just going to show the error and the apt-get command or other commands that resolve the issue: 配置:错误:无法找到gmp.h configure: error: Unable to locate gmp.h 在ubuntu上构建php5.3.8,出现错误:配置:错误:无法找到gmp.hsudo apt-get install libgmp-devsudo apt-get install libgmp3-devln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h 配置:错误:找不到mcrypt.h.请重新安装libmcrypt. configure: error: mcrypt.h not found. Please reinstall libmcrypt.sudo apt-get install libmcrypt-dev 配置:错误:请重新安装mysql发行版 configure: error: Please reinstall the mysql distribution http://www.spiration.co.uk/post/1332/install%20PDO_MYSQL%20-%20mysql_config%20and%20header%20files%20problemsudo apt-get install libmysqlclient15-dev 配置:错误:找不到pspell configure: error: Cannot find pspellsudo apt-get install libpspell-dev 配置:错误:在/usr/下的任何位置都找不到recode.h usr/local/usr/opt. configure: error: Can not find recode.h anywhere under /usr / usr/local /usr /opt.sudo apt-get install librecode-dev 配置:警告:无法识别的选项:--with-t1lib configure: WARNING: unrecognized options: --with-t1lib https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=658248无解.似乎是回归错误.解决方法是从配置选项中删除--with-t1lib.我认为这可能仅适用于Windows版本,但我不确定.No solution. Appears to be a regression bug. Workaround is to remove the --with-t1lib from the configuration options. I think this may apply to Windows builds only, but I’m not certain. 配置:警告:无法识别的选项:--with-my-sql configure: WARNING: unrecognized options: --with-my-sql无解.解决方法是从配置选项中删除--with-mysql开关.由于我们包括了pdo-mysql,所以这可能不是问题.No solution. Work around is to remove the --with-mysql switch from the configuration options. Since we are including the pdo-mysql this is probably not an issue anyway.最后,我们开始使用此命令实际构建PHP7(我建议您现在自己喝杯咖啡,因为这需要一些时间):FINALLY We get to actually build PHP7 with this command (I suggest you make yourself a cup of coffee now as this takes some time) :make使用命令sudo make install实际安装我们的php构建:Use the command sudo make install to actually install our php build:sudo make install要检查一切是否正常,我们是否有正确的版本,请在终端中执行以下操作:To check if all is well and we have the right version execute this in the terminal:cd $HOME/tmp/usr/bin./php -v PHP 7.0.0-dev(CLI)(内置:2015年6月22日18:11:13) 版权所有(c)1997-2015 The PHP Group Zend Engine v3.0.0-dev, 版权所有(c)1998-2015 Zend Technologies PHP 7.0.0-dev (cli) (built: Jun 22 2015 18:11:13) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies 这篇关于如何在Ubuntu上安装PHP 7(下一代PHP)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云! 08-31 10:20