我如何在Fedora Core 5上安装PHP5?

我想在FC5上从源代码安装PHP5,一切都configuration和编译好。 当我尝试运行php但是我收到以下错误。

PHP Warning: PHP Startup: mysql: Unable to initialize module Module compiled with module API=20050922, debug=0, thread-safety=0 PHP compiled with module API=20060613, debug=0, thread-safety=0 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: mysqli: Unable to initialize module Module compiled with module API=20050922, debug=0, thread-safety=0 PHP compiled with module API=20060613, debug=0, thread-safety=0 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: gd: Unable to initialize module Module compiled with module API=20050922, debug=0, thread-safety=0 PHP compiled with module API=20060613, debug=0, thread-safety=0 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: ldap: Unable to initialize module Module compiled with module API=20050922, debug=0, thread-safety=0 PHP compiled with module API=20060613, debug=0, thread-safety=0 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: mysql: Unable to initialize module Module compiled with module API=20050922, debug=0, thread-safety=0 PHP compiled with module API=20060613, debug=0, thread-safety=0 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: mysqli: Unable to initialize module Module compiled with module API=20050922, debug=0, thread-safety=0 PHP compiled with module API=20060613, debug=0, thread-safety=0 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: PDO: Unable to initialize module Module compiled with module API=20050922, debug=0, thread-safety=0 PHP compiled with module API=20060613, debug=0, thread-safety=0 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: pdo_mysql: Unable to initialize module Module compiled with module API=20050922, debug=0, thread-safety=0 PHP compiled with module API=20060613, debug=0, thread-safety=0 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: pdo_sqlite: Unable to initialize module Module compiled with module API=20050922, debug=0, thread-safety=0 PHP compiled with module API=20060613, debug=0, thread-safety=0 

我使用下列选项configuration了PHP:

 ./configure --with-mysql --with-gd --enable-modules=php5 -with-zlib --enable-pdo=shared --with-pdo-sqlite=shared --with-sqlite=shared 

任何人都知道发生了什么事。 我知道这是模块不是正确的版本,但我不知道如何解决这个问题。

我如何得到这个正确安装?

  1. 如果可能的话,升级Fedora 11。 这是值得的。

  2. 如果你不能升级操作系统出于某种原因configurationPHP没有任何MySQL,GD等支持,看看你是否可以使其工作。 testing简单或一口气。

    如果这个工作。 然后升级MySQL,然后尝试只与–with-mysql不要同时添加其他库。 如果这个工作。 然后升级zlib并添加zlib标志。 如果像mysql这样的升级没有升级其他的东西,以后照顾mysql。 要花一天时间才能完成工作。 我希望这是值得的。

  3. 将该服务器的端口80转发到具有最新OS的服务器的端口80(如果可以的话)。

你有没有先删除旧的PHP RPM? 它看起来像一些旧的图书馆仍在那里,新的PHP二进制文件试图访问它们。

我没有太多的从基于RPM的发行版源码构build包,除非构build结束生成一个RPM,我可以安装。 我的意见是,基于非RPM的安装在这样的机器只是“夸大”机器。

看起来Remi Collett正在为php-5和模块维护一些非常新的RPM(事实上,他几天前刚刚为一堆Fedora Core发行版构build了PHP-5.3,但他停在6! //blog.famillecollet.com/post/2009/06/30/PHP-5.3.0-Released )。

我会看看他的任何RPM都做你想做的事情( http://rpms.famillecollet.com/fedora/5/或镜像)。 如果你真的想从源代码编译(也许你想要一个更新的版本,Remi Collett提供了什么),我会从Remi的站点下载SRPM,安装它们,修改.specfiles来引用新版本,并使用他的.specfiles构build。 (这可能不是第一次,但是你应该能够弄清楚是什么改变了打破构build,它会给你一些与RPM的良好体验)。

你甚至可能会发现FC5的PHP-5.3 RPM在FC5上安装的很好。

我定期为软件构buildRPM软件包以安装到多个基于RPM的机器(通常是CentOS)上。 从RPM安装新软件意味着我的“生产”机器保持清洁,不需要安装编译器。 这是我强烈build议的策略。

你为什么还在运行Fedora Core 5? 我build议切换到更长的支持生活,如CentOS 5(顺便说一句,PHP 5.1开箱即可)。 你正在运行一个3年前的Fedora发行版,所以它已经过了它的EOL两年了。