首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在旧apache安装上使用PHP5.3

在旧apache安装上使用PHP5.3
EN

Stack Overflow用户
提问于 2014-02-14 09:52:57
回答 2查看 938关注 0票数 1

我为一个客户端完成了一个php/mysql项目,昨天我开始将它部署到客户端的盒子上,然后立即失败了。老实说,我在开始之前没有做足够的检查,这是我的错--但是这个项目是完全独立的,而且我现在不需要客户机服务器上的任何东西。

我使用php 5.3和PDO为mysql连接开发了这个项目。当我访问客户机的服务器时,发现它们的安装非常陈旧,上次升级是在2008年(是的,认真的)。它们有Apache2.0和php5.2,配置/编译时没有PDO,而且几乎没有任何东西。

我确实有对服务器的根访问权,但我不能盲目地开始升级。他们有一个完整的实时站点,在服务器上有实时购物车等等,任何对php的一般升级都需要进行彻底的测试。因此,我正在研究如何使用php 5.3的单独安装来运行我的新项目,这是我从源代码编译的,包含了所有必需的内容,并安装到一个单独的目录(/opt/php53)中。

我正在考虑在服务器上启用thinking,然后使用它来运行php,形成我单独的安装。如果我在安装我的项目的apache <Directory>中这样做,它应该只影响到这个目录--并且应该保留其他所有内容。事情变得更加复杂,因为我没有任何类型的测试服务器,我可以播放/测试配置-我必须直接在现场服务器上工作。

我想知道这种快速方法是有效的,还是我应该考虑的其他选择。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-14 11:51:19

我做了一些进一步的调查/实验(利用我在英国的事实,客户和它的客户在美国-所以现在还在那里)。下面的设置似乎奏效了--这个使用php-cgi而不求助于快速cgi-而且我仍然有一个很好的响应时间。

1)在Apache5.2文件中保留几乎所有内容--其中包括现有的libphp5.so 5。因此,可以使用现有的httpd.conf安装。

2)将php5.3安装到一个单独的目录中--在我的例子中是/opt/php53。

3)在httpd.conf中,添加以下内容(或确保它已经存在)

代码语言:javascript
复制
ScriptAlias /cgi-bin/ /var/www/mainsite/cgi-bin
AddHandler cgi-script .cgi

<Directory /var/www/mainsite/newapp>
    Options -Indexes FollowSymLinks +ExecCGI
    AllowOverride AuthConfig FileInfo
    AddHandler php5-cgi .php
    Action php5-cgi /cgi-bin/php.cgi
    DirectoryIndex index.php index.html
    Order allow,deny
    Allow from all
</Directory>

4)在目录/var/www/mainsite/cgi-bin/中创建具有以下内容的文件php.cgi:

代码语言:javascript
复制
#!/bin/bash
PHP_CGI=/opt/php53/bin/php-cgi
PHP_FCGI_CHILDREN=5
PHP_FCGI_MAX_REQUESTS=1000
### no editing below ###
export PHP_FCGI_CHILDREN
export PHP_FCGI_MAX_REQUESTS
exec $PHP_CGI

5)重新启动apache:/etc/init.d/httpd restart

在此之后,我将一个带有<?php phpinfo(); ?>的文件放在web服务器的根目录和我的newapp目录中。从它生成的服务器根目录执行(除其他外):

代码语言:javascript
复制
PHP Version 5.2.5

Build Date  Dec 11 2008 19:04:47
Server API  Apache 2.0 Handler

newapp目录执行时,它生成:

代码语言:javascript
复制
PHP Version 5.3.28

Build Date  Feb 13 2014 17:00:43 
Server API  CGI/FastCGI 

这正是我想要的。

票数 0
EN

Stack Overflow用户

发布于 2014-02-14 09:59:25

对于不同的PHP版本,您可以尝试在versions上使用不同的端口。

另一种方法:http://linuxplayer.org/2011/05/intall-multiple-version-of-php-on-one-server

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21775991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档