Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 代码仅在使用Xdebug扩展时有效_Php_Apache_Ubuntu 16.04_Xdebug_Php 7 - Fatal编程技术网

Php 代码仅在使用Xdebug扩展时有效

Php 代码仅在使用Xdebug扩展时有效,php,apache,ubuntu-16.04,xdebug,php-7,Php,Apache,Ubuntu 16.04,Xdebug,Php 7,当我开始我的最新项目时,我学会了如何使用xdebug扩展,从那时起我就一直在使用它。现在,我准备启动一台服务器,并开始生产这个项目,但我的网站不能完全正常工作。前端页面似乎工作正常,也基于php,但是查询数据库并向前端返回一些数据的后端端点总是返回500状态代码。因此,我附加了xdebug,并找出了如何远程运行它,所有页面都可以在不更改任何代码的情况下开始工作。我进入php.ini文件并将其关闭,页面继续工作。由于这是一个AWS EC2服务器,我删除了该实例并创建了一个新的实例,该实例运行的初始

当我开始我的最新项目时,我学会了如何使用xdebug扩展,从那时起我就一直在使用它。现在,我准备启动一台服务器,并开始生产这个项目,但我的网站不能完全正常工作。前端页面似乎工作正常,也基于php,但是查询数据库并向前端返回一些数据的后端端点总是返回500状态代码。因此,我附加了xdebug,并找出了如何远程运行它,所有页面都可以在不更改任何代码的情况下开始工作。我进入php.ini文件并将其关闭,页面继续工作。由于这是一个AWS EC2服务器,我删除了该实例并创建了一个新的实例,该实例运行的初始化脚本与我为安装所有软件而编写的脚本相同,因此我遇到了完全相同的问题。在我按照xdebug安装说明重新启动apache2之前,服务器无法工作。和以前一样,即使我通过php.ini文件取消连接xdebug扩展,代码仍能继续工作。即使在系统重新启动后,它仍能继续工作,因此任何正在修复的东西都是永久性的


构建和连接xdebug扩展,并重新启动Apache2,会对一个LAMP堆栈做些什么,使我的代码能够工作,即使在关闭扩展后也是如此?我的服务器是用运行各种apt-get-install命令的脚本构建的,没有我提供的二进制文件,因为它都是社区提供的程序。就像时钟一样,每次我重新组装机器时,它都会断开,直到我应用扩展。如果必须的话,我可以在我的构建脚本中自动执行这些操作,但我不明白发生了什么,这让我有点发疯。

我建议您尝试在代码中查找任何特定于xdebug的函数的调用,例如
var\u dump()
或任何前缀为
xdebug

我建议您尝试在代码中查找任何xdebug特定函数的调用,例如
var\u dump()
或任何前缀为
xdebug

当服务器发送500错误时,通常会在php_error.log中获得一个条目。所以首先检查这个文件。可能在内存限制、最大post变量等方面存在一些差异。

当服务器发送500个错误时,通常会在php_error.log中获得一个条目。所以首先检查这个文件。可能在内存限制、最大post变量等方面存在一些差异

构建和连接xdebug扩展,并重新启动Apache2,会对一个LAMP堆栈做些什么,使我的代码能够工作,即使在关闭扩展后也是如此

安装一个软件可以带来另一个。如果您
sudo apt安装php xdebug
而未安装php,它将安装php

构建和连接xdebug扩展,并重新启动Apache2,会对一个LAMP堆栈做些什么,使我的代码能够工作,即使在关闭扩展后也是如此


安装一个软件可以带来另一个。如果您
sudo apt安装php xdebug
而未安装php,它将安装php。

var\u dump
是php的标准函数。但除此之外,我同意。代码中任何地方都没有对xdebug的引用,但值得一试。感谢
var\u dump
是一个PHP标准函数。但除此之外,我同意。代码中任何地方都没有对xdebug的引用,但值得一试。感谢您查看错误日志。在Ubuntu上,它默认位于
/var/log/apache2/error.log
,您需要root用户才能访问它。您可以运行如下命令:
sudotail-f/var/log/apache2/error.log
将其打开并保持打开状态以进行监视。然后重新加载带有错误的页面几次,看看会出现什么。我猜您正在调用一些没有扩展就不存在的内部xdebug函数。或者安装了xdebug后,它会覆盖一些php.ini值以产生错误,错误总是发生在你看不到的地方。谢谢,这对解决这个问题和我确信的未来问题非常有用。我需要更好地了解Linux服务器上有哪些日志可用。请查看错误日志。在Ubuntu上,它默认位于
/var/log/apache2/error.log
,您需要root用户才能访问它。您可以运行如下命令:
sudotail-f/var/log/apache2/error.log
将其打开并保持打开状态以进行监视。然后重新加载带有错误的页面几次,看看会出现什么。我猜您正在调用一些没有扩展就不存在的内部xdebug函数。或者安装了xdebug后,它会覆盖一些php.ini值以产生错误,错误总是发生在你看不到的地方。谢谢,这对解决这个问题和我确信的未来问题非常有用。我需要更好地理解Linux服务器上有哪些日志可用。这听起来是个好主意。我将拆除计算机并构建另一台计算机并尝试此操作。我无法找到此特定日志,也无法在ini文件中找到对它的引用,因为默认情况下,它必须指定设置。根据@jonathan kuhn的评论建议,我从/var/log/apache2/error.log中获得了必要的信息。这听起来是个好主意。我将拆除计算机并构建另一台计算机并尝试此操作。我无法找到此特定日志,也无法在ini文件中找到对它的引用,因为默认情况下,它必须指定设置。根据@jonathan kuhn评论建议,我从/var/log/apache2/error.log中获得了必要的信息。这就是我的想法。我只是按照xdebug的说明将phpinfo页面文本粘贴到他们网站上的安装配置工具中。它实际上涉及下载tarball并编译源代码,而不是通过包管理器安装包。但是我不知道make文件中发生了什么。其他人的建议查看日志发现了问题,但是您的建议