codeigniter项目从iis迁移到apache2

codeigniter项目从iis迁移到apache2,apache,codeigniter,linux-mint,Apache,Codeigniter,Linux Mint,我已将我的项目从Windows IIS迁移到Mint Apache2。 不幸的是,我得到了一个错误: HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfil the request. 我已将文件的权限更改为755。通常,如果出现CI错误(连接到db等),它会抛出一个错误 我已经用VI打开了我的index.ph

我已将我的项目从Windows IIS迁移到Mint Apache2。 不幸的是,我得到了一个错误:

HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfil the request.
我已将文件的权限更改为755。通常,如果出现CI错误(连接到db等),它会抛出一个错误

我已经用VI打开了我的index.php,我注意到每个文件中每行末尾都有^M。但这在阿普塔纳没有体现出来。

我花了半年的时间编写这个应用程序,对此我不是很兴奋。 有人有这方面的经验吗


谢谢。

如果您可以访问服务器上运行Linux/Unix的shell,请尝试以下操作:

for i in `find . -type f` ; do dos2unix $i $i; done
查找中i的
-f型`零件查找当前目录中的所有文件

然后,
dos2unix$i$i;完成
运行
dos2unix
,将所有
^M
转换为Unix标准,即
\r


如果要在单个文件上进行测试,请复制一个文件,并将
find.
替换为
find filename.ext

尝试将其添加到php.ini中

display_errors = On

这应该显示一个正确的错误,而不是仅仅抛出一个500。从这里开始,调试应该相对简单。

M实际上就是下线,在编程时会让人讨厌。但您需要从错误日志中向我们提供更多详细信息,以便我们进一步帮助您。您可以将
^M
替换为
\r
,这现在就有意义了!我已经检查了CI错误文件夹的权限,它只给我调试消息。没有这样的错误。我还检查了/var/log/apache2/error.log下的日志文件。那里什么也没有。(除了丢失的favicon文件——但我不认为这是问题所在)有什么建议去哪里寻找更多信息?谢谢谢谢你的剧本。我运行了它,它确实修改了文件,这很方便,尽管这仍然无法修复网站。你需要提供错误日志,因为错误500几乎可以是任何东西。对-我创建了一个新的ci项目-工作正常。所以,我已经开始手动copping一个又一个文件,设置一个又一个从我的应用程序到裸机CI项目的设置。答案很简单。我的PHP没有安装mysql的扩展。我已经更新了php.ini文件,但apache可能无法访问它。我明天会把它整理好的。我很惊讶,日志中根本没有错误:|谢谢你的时间。这是一个非常有趣的问题。如果您在该站点的Apache Virtualhost配置中设置了这些错误日志,那么它可能会出现在php错误日志中。