【问题标题】:Mirrored Code Igniter section of website is motionless offline网站的Mirrored Code Igniter部分离线一动不动
【发布时间】:2012-08-22 03:26:49
【问题描述】:

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

概述

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

在线网站似乎托管在标准共享主机上。有一个 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";

我在每个设置中都尝试过,但似乎都没有成功。

Code Igniter 错误日志...

这些是在 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 版本比在线版本更新 - 但我假设这些只是警告,并且这些函数应该仍然适用于我正在使用的版本。

在这个阶段,我很难过 - 如果您知道问题可能是什么,或者我可以如何更好地解决问题,请您花点时间帮我一把?

【问题讨论】:

  • 您是否尝试过在您的测试系统上运行一个干净的基本版本的 codeigniter?看看这是否有效。所有旧版本都可用 - 因此您甚至可以确认完全相同的版本将在您的机器上运行
  • @TheShiftExchange 我已经在这个设置上安装了最新版本的 CodeIgniter 来测试(只是到最初的“欢迎使用 CodeIgniter”页面)。我刚刚尝试了构建该站点的早期 CI 版本,它生成欢迎页面,但在页面上包含一个错误:“不推荐使用函数 set_magic_quotes_runtime()。文件名:codeigniter/CodeIgniter.php” - 我开始认为我可能必须了解代码才能使其正常工作?
  • Function set_magic_quotes_runtime() 是在 PHP5 上的一些旧版本 CI 上出现的警告消息。你可以忽略它(暂时)。您需要尝试慢慢地移动部分代码,看看是否可以隔离问题
  • 我的第一感觉就是权限问题。确保权限在本地反映在托管服务器上运行时的权限。

标签: php apache codeigniter


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    相关资源
    最近更新 更多