1

我刚刚将我的 codeigniter 应用程序从一台机器移到了另一台机器上。我收到上述错误消息。

这是我到目前为止检查过的内容:

用于代码点火器的 config.php 具有以下内容:

 $config[‘base_url’] = ‘http://myserver/myapp/’;

当我导航到

     http://myserver/myapp/index.php 

我没有,没有收到任何错误消息,也没有显示/渲染任何内容。我做了一个视图源,页面上没有 html。(顺便说一句。我在路由中指定了“欢迎”作为我的默认控制器)。当我导航到:

     http://myserver/myapp/index.php/welcome

这是相同的结果。

我检查了我的 apache2 访问日志,这是它包含的内容:

   127.0.0.1 - - [14/Aug/2012:13:27:37 -0400] "GET /myapp/index.php/welcome HTTP/1.1" 200 293 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:14.0) Gecko/20100101 Firefox/14.0.1"

127.0.0.1 - - [14/Aug/2012:13:27:48 -0400] "GET /myapp/index.php/switches HTTP/1.1" 200 293 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686 ; rv:14.0) Gecko/20100101 Firefox/14.0.1"

它不应该有吗

     “GET http://myserver/myapp/index.php/welcome” 

而不仅仅是

     “myapp/welcome”?

我也尝试查找 apache 错误消息 # 293,但我没有遇到任何有助于故障排除的东西。

问题是其他应用程序工作。所以我可以

     “http://myserver/phpmyadmin” 

它有效。我还在我的“myapp”文件夹中创建了一个 test.php 页面,它也可以工作。

据我所知,我没有使用 .htaccess。我在我的 config.php 中为 codeigniter 设置了以下变量:

       $config[‘index_page’] = ‘index.php’;
       $config[‘uri_protocol’] = ‘AUTO’;

在 php.ini 文件和代码点火器配置文件中都打开了错误日志记录。

4

4 回答 4

1

问题是 autoload.php 包含帮助类“url”。在新机器上,没有设置此项。目前尚不清楚为什么该文件是唯一没有被复制的文件..或被正确覆盖的文件。无论如何,CI 在我的页面上快要死了,因为我调用了 base_url()。目前还不清楚为什么没有显示错误消息。目前,该应用程序已备份并运行。我仍在试图弄清楚为什么没有显示 PHP 错误,但我会在发回之前先检查所有内容。

谢谢大家。

于 2012-08-15T20:12:06.813 回答
1

你有“死亡的白屏”。向后工作 - 安装 Codeigniter 的“干净”版本并查看它是否有效 - 然后从那里慢慢向前移动。

然后你要做的是“慢慢地”转换你的网站。即从您的站点配置开始- 将其移至“新”站点。然后更改您的主控制器,然后更改您的数据库等 - 直到错误出现。

于 2012-08-15T21:32:21.173 回答
1

可能是因为您使用的是大引号而不是常规引号?

$config[‘base_url’] = ‘http://myserver/myapp/’;

不同于

$config['base_url'] = 'http://myserver/myapp/';

于 2012-08-14T18:24:49.150 回答
1

我在移动服务器时遇到了一个问题,其中<?= ?>php.ini 中未启用 php 短标签,这意味着我得到了一个空白页面,而这在 html 源代码中(由 layout->render_page 输出):

<?= $header; ?>
<?= $contents; ?>
<?= $footer; ?>

在 php.ini 中启用它们short_open_tag = On解决了我的问题。

于 2014-08-11T15:34:33.717 回答