网站的镜像代码点火器部分处于离线状态


Mirrored Code Igniter section of website is motionless offline

我真的希望有人能在这里帮助我——这是我在这方面的第一项工作,我遇到了一个无法解决的问题,我开始竭尽全力寻找答案。

概述

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

联机时,网站似乎托管在标准共享主机上。有一个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加密密码,然后启动管理部分并离线运行。

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

在线[https://i.stack.imgur.com/aLBsS.jpg]脱机[https://i.stack.imgur.com/1QXlc.jpg]

这个管理部分是用PHP编写的,使用CodeIgniter作为框架。

以下是我迄今为止尚未尝试解决此问题的笔记

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版本比联机版本更新,但我认为这些只是警告,函数应该仍然适用于我使用的版本。

在这个阶段,我很困惑——如果你知道问题可能是什么,或者我如何更好地进行故障排除,你能帮我一下吗?

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

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

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