在共享托管中上传Laravel项目时出现内部服务器错误。如何解决这个问题?
在共享主机上上传Laravel项目时出现了内部服务器错误。如何解决这个问题?使用命令行的php -l <filename>
命令可以输出可能导致PHP抛出状态500错误的语法错误。它会输出类似以下内容:
PHP Parse error: syntax error, unexpected '}' in <filename> on line 18
这对我非常有帮助!在错误日志中没有找到任何有用的信息,但这个命令完美地显示了我的语法错误和行号。我正在调试一个类文件。谢谢!
这是真正的答案,对于我们这些懒人来说非常快捷和简单 😛
在Windows上,我安装了XAMPP,这样我就可以在自己的机器上使用php.exe来执行这个命令。
在共享主机中上传Laravel项目时出现内部服务器错误。如何解决这个问题?
首先,检查你的php.ini文件中的error_reporting、display_errors和display_startup_errors设置。它们应该分别设置为E_ALL和"On"(尽管在生产服务器上不应该使用display_errors,所以在部署时禁用它并改用log_errors)。你也可以在脚本的开头更改这些设置(除了display_startup_errors),以在运行时设置它们(尽管这种方式可能无法捕获所有错误):
error_reporting(E_ALL); ini_set('display_errors', 'On');
之后,重新启动服务器。
如果你想关闭display_errors,但仍然希望PHP显示200或404而不是500,可以如何做?
如果在2010年左右,可能需要重新启动服务器(除非使用类似APC的opcode缓存),但在2014年已经不需要了。
即使执行了上述操作,我仍然遇到500错误...也许是来自IIS的问题?
有时,在Linux环境中错误的权限设置也会导致500错误。作为提醒。
如果无法修改php.ini,可以添加一个.htaccess文件,其中包含`php_flag display_errors 1`。
当我处理jquery时,前一种方式(即在开头添加两行设置)对我不起作用,但前一种方式对我有效。谢谢!
我尝试了这个方法,但仍然从macOS Monterey Apache的MAMP Pro中得到了一个字面上的错误消息:“糟糕!发生了一个错误 服务器返回了一个“500 Internal Server Error”。出现错误时,请告诉我们你在做什么。我们会尽快修复。对此给您带来的任何不便,我们深感抱歉。”