我已经在我的开发服务器上成功配置和编译了 php,并且运行良好,但是在与系统管理员伙伴交谈后,他告知不建议将最新版本的自定义编译用于生产(甚至开发)系统。他注意到他们自定义配置和编译 PHP 5.3.6 的情况,只是发现低级 Postgres 驱动程序存在一些问题,因此他们不得不恢复到 5.3.3。
所以我正在考虑回到 yum 来安装 PHP,但是我有几个自定义配置设置,并且想知道是否可以通过或配置通过 YUM 编译 PHP 的方式?
我当前的配置行:
Configure Command => './configure' '--with-libdir=lib64' '--prefix=/usr/local/_custom/app/php' '--with-config-file-path=/usr/local/_custom/app/php/etc' '--with-config-file-scan-dir=/usr/local/_custom/app/php/etc/modules' '--disable-all' '--with-apxs2=/usr/sbin/apxs' '--with-curl=/usr/sbin/curl' '--with-gd' '--with-iconv' '--with-jpeg-dir=/usr/lib' '--with-mcrypt=/usr/bin' '--with-pcre-regex' '--with-pdo-mysql=mysqlnd' '--with-png-dir=/usr/lib' '--with-zlib' '--enable-ctype' '--enable-dom' '--enable-hash' '--enable-json' '--enable-libxml' '--enable-mbstring' '--enable-mbregex' '--enable-pdo' '--enable-session' '--enable-simplexml' '--enable-xml' '--enable-xmlreader' '--enable-xmlwriter'
Run Code Online (Sandbox Code Playgroud)
下载包的 src.rpm,它包含原始源代码和编译自定义 rpm 所需的所有文件:
要构建 rpm - 您需要包含 rpmbuild 程序的 rpm-build 包。
也可以使用 yumdownloader(来自 yum-utils 包)来完成:
yum install yum-utils rpm-build
yumdownloader --source php
Run Code Online (Sandbox Code Playgroud)
安装 src.rpm:
rpm -Uvh *.src.rpm
Run Code Online (Sandbox Code Playgroud)
cd 到 rpmbuild SPEC 目录;
RHEL5,老Fedora
cd /usr/src/redhat/SPEC/
Run Code Online (Sandbox Code Playgroud)
苏斯:
cd /usr/src/packages/SPEC/
Run Code Online (Sandbox Code Playgroud)
RHEL6,较新的 Fedora:
cd ~/rpmbuild/SPEC/
Run Code Online (Sandbox Code Playgroud)
php.spec 文件包含有关如何构建包以及将包含哪些组件的详细信息。它还包含有关依赖项和所需包的数据,以便正确构建新包。因此,rpmbuild 会提醒您任何丢失的软件包。
您将需要:
运行 rpmbuild:
rpmbuild --target x86_64 -ba php.spec
--target x86_64 - 指定平台(可以是 i386、x86_64、amd64 等)
-ba - "build all", 将构建最终的 .rpm 和新的 src.rpm 包
您可以在 ../RPM/ 和 ../SRPM/ 目录中找到构建的包。
此方法可确保包含供应商修补程序目录。文件结构层次相同,组件兼容,满足依赖关系,旧版本将被安全替换。此外,您保证您未来的更新。
ps 我不同意“生产中的新版本不好”字符串。我正在为几十家公司提供支持服务,也有共享主机,我总是喜欢有新版本。php 的唯一问题是从一个颠覆转移到另一个颠覆(如 5.1.x 到 5.2.x,5.2.x 到 5.3.x) - 有一些常规更改和不推荐/删除的功能。但较新的更快、更安全且维护得更好,紧随其后。
pss 在我的生活中,我永远不会手动编译任何东西并将文件放在 /usr/local/ 中,我已经在几天内学习了 rpm,因为我需要它,现在一切都运行顺利。
| 归档时间: |
|
| 查看次数: |
9935 次 |
| 最近记录: |