我刚把我的codeigniter应用从一台机器移到另一台机器上。 我收到了上述错误消息。
这是我到目前为止所检查的内容:
代码点火器的config.php具有以下内容:
$config[‘base_url’] = ‘http://myserver/myapp/’;
当我导航到
时 http://myserver/myapp/index.php
我没有收到任何错误消息,也没有显示/呈现任何内容。我做了一个视图源,页面上没有html。 (顺便说一句。我已经将“welcome”指定为路由中的默认控制器)。当我导航到:
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.iter的config.php中设置了以下变量:
$config[‘index_page’] = ‘index.php’;
$config[‘uri_protocol’] = ‘AUTO’;
错误记录在php.ini文件和代码igniter配置文件中都打开。
答案 0 :(得分:1)
可能是因为你使用的是引号而不是普通引号?
$config[‘base_url’] = ‘http://myserver/myapp/’;
与
不同 $config['base_url'] = 'http://myserver/myapp/';
答案 1 :(得分:1)
问题是autoload.php包含帮助程序类'url'。在新机器上,未设置此项目。目前还不清楚为什么这个文件是唯一一个没有复制过来的文件或者被正确覆盖的文件。在任何情况下,CI都在我的页面上死亡,因为我调用了base_url()。目前还不清楚为什么没有显示错误消息。 目前,该应用已恢复正常运行。我仍在试图弄清楚为什么没有显示PHP错误,但我会在发回之前先检查所有内容。
谢谢大家。
答案 2 :(得分:1)
你有“死亡白屏”。向后工作 - 安装Codeigniter的“干净”版本,看看是否有效 - 然后从那里慢慢向前移动。
然后你所做的就是“慢慢”过渡你的网站。即从您的网站配置开始 - 将其移至“新”网站。然后更改主控制器,然后更改数据库等等 - 直到错误显示出来。
答案 3 :(得分:1)
移动服务器时遇到问题,php.ini中没有启用php短标记<?= ?>
这意味着我得到一个空白页面,这在html源代码中(由layout-&gt; render_page输出):
<?= $header; ?>
<?= $contents; ?>
<?= $footer; ?>
在php.ini short_open_tag = On
中启用它们解决了我的问题。