PHP 无法从 Ubuntu 14.04 开箱即用的 Git 签出中编译。
欢迎来到依赖地狱。
尝试从预编译的下载进行编译。
Git checkout 无法编译的原因是由于 Bison 的依赖性问题。Ubuntu 14.04 有 Bison ~3.0.0,编译 PHP 需要 Bison ~2.0.0。
checking for bison... bison -y
checking for bison version... invalid
configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: 3.0, min: 204, excluded: 3.0).
configure: error: bison is required to build PHP/Zend when building a GIT checkout!
解决方法
这是成功运行的解决方法apt-get build-dep php5
。
完全删除 MySQL(不仅仅是相关的 5.6 包)
完全删除所有 MySQL 包和任何配置文件非常重要。您可以通过运行检查安装了哪些 mysql 包dpkg -l | grep mysql
,请参阅'ii' 'rc' 等各种标志是什么意思?dpkg
使用清除选项卸载软件包:apt-get remove --purge <package name>
您可能还需要手动删除一些文件。阅读打印的消息,apt-get remove --purge
它会告诉您它是否没有删除某些文件以及为什么没有删除它们。您需要手动删除那些 apt-get 没有删除的文件。它们很可能是目录中某处的/etc/mysql
文件。
跑apt-get build-dep php5
这使得apt-get build-dep php5
运行成功并将安装 MySQL 5.5!
确保libmcrypt-dev
已安装。
稍后当您尝试编译时,您会收到抱怨readline
或mcrypt
例如错误:
configure: error: Please reinstall readline - I cannot find readline.h
所有这些错误都可以通过安装来解决libmcrypt-dev
。:) 我花了太长时间才弄清楚这个问题。
apt-get install libmcrypt-dev
再次完全删除 MySQL
像在步骤 1 中一样完成该过程,但这次您要删除的是 5.5。
安装 MySQL 5.6
疑难解答:当您尝试编译时仍然会出现错误?
确保libmcrypt-dev
已安装。