乐趣区

Centos7下PHP源码编译和通过yum安装的区别和以后的选择

最近在 Centos7 下配置 PHP+Nginx+MySQL,对源码编译和 yum 编译的两种方法产生好奇。究竟这两种哪一种好?
其实这两种方法各有千秋:

从 yum 安装来说吧,yum 相当于是自动化帮你安装,你不用管软件的依赖关系,在 yum 安装过程是帮你把软件的全部依赖关系帮你傻瓜式的解决了。而且现在 Centos7 的服务启动已经换成 systemctl 命令来控制了。通过 yum 安装会帮你自动注册服务,你可以通过 systemctl start xxx.service 启动服务,方便快捷。但是缺点是 yum 安装你没办法干预,安装的目录也是分散的。你可能要执行 whereis 或者 find 命令去找 yum 安装的路径。有时候 yum 安装的软件版本比较低,你不得不去找其他的 yum 源,或者 rpm 包。

源码编译在安装过程中可能要解决很多的依赖问题,才能装好一个软件。装好的软件你还不能通过 systemctl 来启动服务,因为在 /usr/lib/systemd/system/ 路径下并没有你的服务的配置文件,你要自己手写一个。但是好处在于你能选择软件的版本,自定义安装目录,安装的模块。更加灵活方便。

以上两种都是有各自的优点,建议是初学者一定要掌握源码编译的过程,手动解决安装过成中遇到的问题,熟悉如何编译一个软件,对于以后的发展是很有利的,而且有些软件没办法通过 yum 安装,这时候源码编译就显得很重要了。而像 PHP 这类软件来说,如果是编译安装的,如果缺少一个扩展,你就得做 phpize, ./configure, make && make install 等方式编译 PHP 扩展,这是很繁琐的。通过 yum 安装的话,当你要增加一个扩展,例如 pdo,你就能够 yum search php | grep pdo 来寻找合适的 pdo 包,然后下载安装,系统会自动帮你添加到 PHP 扩展列表。省去我们很多工作。

个人愚见,不喜勿喷。

退出移动版