0

我有一些问题,我无法选择去哪里看。

我已经在 EC2 上安装了一个 codeigniter 站点并整理了所有正确的配置,因此该站点可以正常工作。

在 Apache 的同一个 www 目录中,有一些遗留页面位于单独的 codeingiter 文件中。每个人都有自己的 .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?

4

1 回答 1

1

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

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

利用:

// Right way!
myFunc($var);                # pass-by-value argument
function myFunc(&$arg) { }
于 2013-11-01T19:49:59.267 回答