将PHP 5.5降级到5.3

时间:2013-11-01 19:24:02

标签: php downgrade

我有一些问题,而且我没有选择去哪里看。

我已经在EC2上安装了一个codeigniter网站,并整理了所有正确的配置,以便网站正常运行。

在Apache的同一个www目录中,有一些遗留页面位于单独的编码器文件中。每个人都有自己的.htaccess文件。

我启用的网站配置如下所示:

<VirtualHost xxx.xx.xx.xxx:80>
    ServerName mysite.com
    ServerAlias www.mysite.*
    #DocumentRoot /home/mysite
    DocumentRoot /home/mysite/sites/production
    ErrorLog /var/log/error_log_mysite
    CustomLog "/var/log/access_log_housebites.log combined

    Alias /blog /home/mysite_blog
    <Directory /home/mysite_blog>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

博客.htaccess看起来像这样:

DirectoryIndex index.php
RewriteEngine on

RewriteBase /blog/

RewriteCond $1 !^(index\.php|gallery|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

日志文件中的错误说明:

[Fri Nov 01 19:27:43.091985 2013] [:error] [pid 3953] [client 91.125.181.111:50889] PHP Fatal error:  Call-time pass-by-reference has been removed in /var/www/mysite_blog/wp-content/plugins/flickrpress/flickr.php on line 67

我很确定这是在旧服务器上安装了5.3的新服务器上安装PHP 5.5的问题。

有没有办法覆盖PHP,现在只需在Ubuntu / Apache上使用5.3?

1 个答案:

答案 0 :(得分:1)

嗯,您可以做的一件事是修复flickr.php文件,或者至少确保您已升级到最新版本。来自:PHP 5.4 Call-time pass-by-reference - Easy fix available?

// Wrong way!
myFunc(&$arg);               # Deprecated pass-by-reference argument
function myFunc($arg) { }

使用:

// Right way!
myFunc($var);                # pass-by-value argument
function myFunc(&$arg) { }