2

我真的希望有人能在这里帮助我——这是我在这个领域的第一份工作,我遇到了一个我无法解决的问题,我开始努力寻找答案。

概述

该计划是离线镜像现有的功能性网站,以测试新的网站设计。

在线网站似乎托管在标准共享主机上。有一个 FTP 登录和一个控制面板,可以访问典型的主机、数据库和邮箱设置。

离线我正在运行 RHEL 6.2 (Scientific Linux) 和新安装的 Apache、mysql 和 PHP。我将站点内容作为虚拟主机在虚拟本地域上运行,并在本地复制了 mysql 数据库的内容。

版本 - Apache 2.2.15 (Scientific Linux) PHP 5.3.3 Mysql 5.1.61

在基本层面上,我的离线镜像可以工作。Apache 提供 HTML/CSS 和图像。主要内容的 PHP 文件正在从数据库中提取信息并将其显示在浏览器可见的网站上。

问题...

...是网站的后端管理部分似乎处于假死状态 - 在登录面板阶段它只是坐在那里,没有响应,当输入凭据时。

我一直希望我可以更改存储在数据库中的 MD5 加密密码,然后启动管理部分并脱机运行。

登录页面的在线版本和离线版本之间也存在非常细微的视觉差异。

在线 [ http://imgur.com/J0yLh ] 离线 [ http://imgur.com/sDb6l ]

此管理部分已使用 CodeIgniter 作为框架在 PHP 中编码。

到目前为止,这是我试图解决此问题的笔记....

CodeIgniter 似乎需要 Mod_rewrite。

我已经确认这个模块是由我的本地 Apache 加载的(该模块在 httpd.conf 中被列出来加载)并且我已经测试过它可以正常工作。

奇怪的是,用于测试的方法依赖于 .htaccess 文件中的设置,而在实时站点上,.htaccess 文件是一个空文件,我无法在 FTP 上找到任何其他文件或通过设置的管理面板进行切换上 mod_rewrite。

如果 CodeIgniter 需要 mod_rewrite,那么它是如何在在线服务器上设置的就是一个谜。(值得我说的是/可能/在服务器本身上有一个 httpd.conf 配置,因为托管公司和原始网页设计公司的名称非常相似,所以可能是一样的。)

$config['url_protocol'] = "AUTO";

我在每个设置中都尝试过这个,但似乎没有一个可以让它工作。

代码点火器错误日志...

这些是在 config.php (../admin/system/application/config) 中切换 '$config['log_threshold'] = 4' 的结果。

ERROR - 2012-08-27 15:41:41 --> Severity: 8192  --> Function set_magic_quotes_runtime() is deprecated /var/www/html/website/httpdocs/admin/system/codeigniter/CodeIgniter.php 46
DEBUG - 2012-08-27 15:41:41 --> Config Class Initialized
DEBUG - 2012-08-27 15:41:41 --> Hooks Class Initialized
DEBUG - 2012-08-27 15:41:41 --> Router Class Initialized
DEBUG - 2012-08-27 15:41:41 --> Output Class Initialized
DEBUG - 2012-08-27 15:41:41 --> Input Class Initialized
DEBUG - 2012-08-27 15:41:41 --> Global POST and COOKIE data sanitized
DEBUG - 2012-08-27 15:41:41 --> URI Class Initialized
DEBUG - 2012-08-27 15:41:41 --> Language Class Initialized
DEBUG - 2012-08-27 15:41:41 --> Loader Class Initialized
DEBUG - 2012-08-27 15:41:41 --> Helpers loaded: url, form, array, auth
ERROR - 2012-08-27 15:41:41 --> Severity: 8192  --> Assigning the return value of new by reference is deprecated /var/www/html/website/httpdocs/admin/system/database/DB.php 81
DEBUG - 2012-08-27 15:41:41 --> Database Driver Class Initialized
DEBUG - 2012-08-27 15:41:41 --> Session Class Initialized
DEBUG - 2012-08-27 15:41:41 --> Controller Class Initialized
DEBUG - 2012-08-27 15:41:41 --> Helpers loaded: url
DEBUG - 2012-08-27 15:41:41 --> Helpers loaded: form
DEBUG - 2012-08-27 15:41:41 --> Config file loaded: config/bookings_settings.php
ERROR - 2012-08-27 15:41:41 --> Severity: 8192  --> Function ereg() is deprecated /var/www/html/website/httpdocs/admin/system/libraries/Config.php 177
ERROR - 2012-08-27 15:41:41 --> Severity: 8192  --> Function ereg() is deprecated /var/www/html/website/httpdocs/admin/system/libraries/Config.php 177
ERROR - 2012-08-27 15:41:41 --> Severity: 8192  --> Function ereg() is deprecated /var/www/html/website/httpdocs/admin/system/libraries/Config.php 177 
DEBUG - 2012-08-27 15:41:41 --> File loaded: /var/www/html/website/httpdocs/admin/system/application/views/login_view.php
DEBUG - 2012-08-27 15:41:41 --> Final output sent to browser
DEBUG - 2012-08-27 15:41:41 --> Total execution time: 0.0278

也有关于不正确的时区声明的反复警告,PHP 声明它已更正。我已经去掉了这些以使日志可读。

“已弃用”错误消息表明我的 PHP 版本比在线版本更新 - 但我假设这些只是警告,并且这些函数仍应与我正在使用的版本一起使用。

在这个阶段我很难过 - 如果您对问题可能是什么有任何想法,或者我可以如何更好地进行故障排除,请您花点时间帮我一把?

4

1 回答 1

0

是的,您的 php 版本远远领先于实时版本。但是,它看起来也很奇怪。我不确定哪个版本的 CI 有文件“system/libraries/Config.php”tbh,它可能是一个非常旧的文件。

您在这里有两个选项,因为这些错误会导致您的数据库内容因某些事情而失败,例如您的管理员登录。

选项 1 是使用 php 5.1.x,因为它应该适用于我认为的代码。选项 2 将涉及对 codeigniter 的更新,我猜测对您的许多应用程序进行了相当大的重写,就好像它使用任何第三方库一样,它们可能不适用于最新的 codeigniter 版本。

于 2012-10-25T10:53:57.563 回答