最近在Centos7下配置了PHP+Nginx+MySQL,很好奇源码编译和yum编译这两种方式。两者哪个更好?其实这两种方式各有优势:从yum安装的角度来说,yum相当于自动帮你安装,你不用担心软件的依赖,在yum安装过程中,它帮你傻傻的给你解决软件的所有依赖。而现在Centos7的服务启动已经换成systemctl命令来控制了。通过yum安装会自动为你注册服务。可以通过systemctlstartxxx.service启动服务,方便快捷。但缺点是无法干预yum安装,安装目录也比较分散。您可能需要执行whereis或find命令来找到安装yum的路径。有时候yum安装的软件版本比较低,就得找其他的yum源或者rpm包。源代码编译可能要在安装过程中解决很多依赖问题,然后才能安装软件。安装软件后不能通过systemctl启动服务,因为/usr/lib/systemd/system/路径下没有你服务的配置文件,需要自己写一个。但好处是可以选择软件的版本,自定义安装目录,安装模块。更加灵活方便。以上两者各有优势。建议初学者一定要掌握源码编译的过程,手动解决安装过程中遇到的问题,熟悉如何编译一个软件。对于以后的发展是非常有利的,有些软件是无法通过yum安装的,这时候源码编译就显得非常重要了。像PHP这样的软件,如果是编译安装,如果缺少扩展,就得做phpize、./configure、make&&makeinstall等编译PHP扩展,非常繁琐。如果你通过yum安装,当你想添加一个扩展,比如pdo,你可以运行yumsearchphp|greppdo找到合适的pdo包,然后下载安装,系统会自动帮你添加到PHP扩展列表中。为我们省去很多工作。个人拙见,不喜勿喷。
