当我开始我的最新项目时,我学会了如何使用xdebug扩展,从那时起我一直在使用它。现在我已准备好启动服务器并使用此项目进入生产阶段,我的网站无法完全正常工作。前端页面似乎工作,也是基于PHP的,但查询数据库并将一些数据返回到前端的后端端点始终返回500状态代码。所以我附上xdebug并弄清楚如何远程运行它,所有页面都开始工作而没有任何代码更改。我进入php.ini文件并将其关闭,页面继续工作。由于这是一个AWS EC2服务器,我删除该实例并创建一个新的实例,运行我编写的相同初始化脚本来安装所有软件,我得到完全相同的问题。在我按照xdebug安装说明并重新启动apache2之前,服务器无法运行。就像之前,即使我通过php.ini文件取消附加xdebug扩展,代码仍然可以正常工作。即使在系统重新启动后,它仍然可以继续工作,因此无论修复什么似乎都是永久性的。
构建和附加xdebug扩展并重新启动Apache2会对LAMP堆栈做什么,这会使我的代码工作,即使在关闭扩展后也是如此?我的服务器是使用运行各种apt-get install命令的脚本构建的,没有我提供的二进制文件,因为它们都是社区提供的程序。像钟表机构一样,每次重建机器时它都会中断,直到我应用扩展。如果必须的话,我可以将其自动化到我的构建脚本中,但它让我有点疯狂,我不明白发生了什么。
答案 0 :(得分:2)
当服务器发送500错误时,通常会获得php_error.log的条目。所以首先检查这个文件。也许内存限制存在一些差异,最大值。发布变量等。
答案 1 :(得分:0)
我建议您尝试在代码中查找任何xdebug特定函数(如var_dump()
或任何前缀xdebug_
)的调用:
https://xdebug.org/docs/all_functions
答案 2 :(得分:0)
构建和附加xdebug扩展并重新启动Apache2会对LAMP堆栈做什么,这会使我的代码工作,即使在关闭扩展后也是如此?
安装一个软件可以带来另一个。如果你没有安装php sudo apt install php-xdebug
,它将安装php。