![](/img/trans.png)
[英]updated mysql to 5.6 from 5.1, but the php info still showing 5.1 client version
[英]Compiling PHP from source with MySQL version 5.6
我正在尝试从源代码编译PHP以使ZTS正常工作。 我有PHP的源代码,我尝试安装依赖项
apt-get build-dep php5
我也为Ubuntu 14.04LTS安装了MySQL 5.6,我在命令后收到此错误:
以下软件包具有未满足的依赖项:mysql-server:取决于:mysql-server-5.5但不会安装E:无法满足php5的构建依赖性。
无论如何都可以绕过这种依赖,因为MySQL 5.6与预构建的PHP5一起工作正常但我无法开始编译,因为依赖项缺失了? 谢谢!
虽然不是同一个问题,但这个MySQL错误报告暗示了一个解决方案。 请尝试以下步骤:
卸载mysql-client-5.6和mysql-server-5.6: [sudo] apt-get remove mysql-client-5.6 mysql-server-5.6
。
启动你的[sudo] apt-get build-dep php5
命令。 在再次升级之前,允许自动构建必要的依赖项。
重新安装mysql-5.6。 这应该替换对mysql-5.5的所有引用。 使用命令[sudo] apt-get install mysql-client-5.6 mysql-server-5.6
。
这只是在黑暗中拍摄,但你可以尝试首先使用所需的PHP构建安装mysql 5.5,一旦完成,将mysql升级到5.6
为什么使用apt-get build-dep而不是install? 根据apt-get的手册页,“build-deps”将尝试删除已安装的软件包以解决依赖关系,这里是mysql-server-5.6。 我只是使用安装,它的工作原理。
apt-get install php5
为了测试php是否正在使用mysql-5.6我使用apt-get安装了PhpMyadmin并且它可以正常使用5.6,你可以做同样的事情,并在Variables页面中检查名为“Version”的变量。
正如FYI apt-get build-dep与源代码构建不同。
由于这个问题是关于从源代码安装PHP5:
apt-get build-dep是值得怀疑的。
依赖关系检测应该对应于与中相同的定义
提供的php5 - debian - 包。
据我了解,您希望拥有不同的构建配置
但是,对于你的php5安装。
所以这通常是./configure --your-configure-options的过程
并进行干净的编译安装。
由configure调用生成的依赖项定义
不会被导出也不会被apt看到。
所以你必须自己解决这些问题,安装
正确版本的软件需要构建您的php5 - 安装
也许开发 - 包提供构建所需的正确标头。
PHP无法从Ubuntu 14.04开箱即用的Git checkout编译。
欢迎来到依赖地狱。
尝试从预编译下载进行编译 。
Git结账无法编译的原因是因为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包和任何配置文件非常重要。 您可以通过运行dpkg -l | grep 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
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.