如果我更改实现接口的类的方法的签名,则 PHP 脚本将停止而不会显示错误消息,例如:
interface A
{
public function somefunction();
}
class B implements A
{
public function somefunction(XY $xy);
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
这当然是一个错误,但没有显示错误消息。
这种错误类型的名称是什么?(我已经搜索了很多,但显然是错误的短语)如何记录或输出此错误?
我正在使用 PHP 5.3.1(使用 XAMPP for Windows 1.7.3)
(我之前在 PHP < 5.3 中使用 Zend Debugger,这些错误显示在 Eclipse 控制台中,但现在我使用的是 XDebug。)
提前感谢您的任何提示!
if(isset($_POST["email"]))
{
$email = mysql_real_escape_string($_POST["email"]); /* Line 10 */
$password = mysql_real_escape_string($_POST["password"]);
$result = mysql_query("SELECT password, id FROM users WHERE email = '$email'");
if (!$result)
{
die('Invalid query: ' . mysql_error());
}
$row = mysql_fetch_assoc($result);
if($row['password'] == $password)
{
ini_set("session.cookie_lifetime","360000");
session_start();
$_SESSION['valid_user'] = $row['id'];
$_SESSION['email'] = $row['email'];
mysql_close($link);
header('Location: index.php');
}
mysql_close($link);
}
Run Code Online (Sandbox Code Playgroud)
我没有发布任何帖子,但它说$email没有在第10行定义.为什么?我使用EasyPHP.
注意:未定义的索引:第10行的C:\ Program Files\EasyPHP-5.3.5.0\www\v0.3\model\login.php中的电子邮件
你能帮助我吗?我不明白为什么 xdebug_debug_zval 不起作用?我试试
$r = 5;
xdebug_debug_zval($r);
Run Code Online (Sandbox Code Playgroud)
我在控制台中调用它:
php test.php
Run Code Online (Sandbox Code Playgroud)
它什么都不输出。我需要配置 xdebug.ini 吗?还是php.ini?请帮帮我。
我正在用Symfony2和构建一个项目Twig templates。一切都运行良好,但是当我尝试使用XDebug它时,一切都停止了。页面加载需要 30 秒或更长时间,并且经常超时,即使页面非常简单。
有没有办法使用的方式XDebug与Symfony2和Twig,并将它以可接受的速度运行?
我已经看到很多建议说只是禁用 xdebug,但我真的不想这样做。
我的应用程序运行在一个Ubuntu 14.04 Vagrant box和我使用PhpStorm的OSX。
( ! ) 致命错误:无法在 C:\wamp64\www\acellemailll\ 中重新声明 measure()(之前在 C:\wamp64\www\acellemailll\vendor\barryvdh\laravel-debugbar\src\helpers.php:77 中声明) app\Helpers\helpers.php 第 427 行
php info.php可以触发分析并将配置文件写入 /tmp/cachegrind.out.* ,例如
-rw-r--r-- 1 roofe www 344 Jul 11 12:04 /tmp/cachegrind.out.6723
-rw-r--r-- 1 root root 7172 Jul 11 12:06 /tmp/cachegrind.out.6808
-rw-r--r-- 1 root root 7178 Jul 11 12:06 /tmp/cachegrind.out.6819
Run Code Online (Sandbox Code Playgroud)
http://example.com/info.php无法触发分析
这是 php 信息
which php
/usr/bin/php
ll /usr/bin/php
lrwxrwxrwx 1 root root 27 May 21 15:14 /usr/bin/php -> /etc/opt/remi/php73/bin/php
Run Code Online (Sandbox Code Playgroud)
我还发现所有 php 进程都可以触发 prifiling,而 php-fpm 则不能。ps-aef | grep php
root 927 919 1 10:51 ? 00:00:50 /etc/opt/remi/php73/bin/php artisan horizon:supervisor ......
root 948 928 0 10:51 ? 00:00:17 …Run Code Online (Sandbox Code Playgroud) 我正在尝试对 Ubuntu 上的 Docker/PHP-Xdebug/VSCode 环境进行故障排除,该环境在过去几个月中一直运行良好。现在 xdebug 连接到客户端时遇到问题。
进入 Docker 后docker exec --tty --interactive bw bash
php -v
Run Code Online (Sandbox Code Playgroud)
回报
PHP 7.2.14 (cli) (built: Feb 6 2019 05:10:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v2.7.2, Copyright (c) 2002-2019, by Derick Rethans
Run Code Online (Sandbox Code Playgroud)
whilephp -m -c在 [Zend Modules] 部分列出了 Xdebug。
这是 .ini 部分
[xdebug]
xdebug.default_enable = 1
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 1
xdebug.idekey = …Run Code Online (Sandbox Code Playgroud) 我已经浏览了我能找到的关于这个主题的所有帖子,但我找不到解决方案。因此,与其将头发拉得更远,我将发布一个问题。
我有一个 Lando 安装(运行 Drupal 8,但我正在测试一个简单的phpinfo()脚本),Xdebug 确认正在运行。每当我添加断点并运行脚本时,它都无法停止。
用于 Xdebug 的自定义 Lando .ini:
[PHP]
Xdebug
xdebug.max_nesting_level = 256
xdebug.show_exception_trace = 0
xdebug.collect_params = 0
; Extra custom Xdebug setting for debug to work in VSCode.
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_handler = "dbgp"
xdebug.remote_host = ${LANDO_HOST_IP}
xdebug.remote_connect_back = 0
xdebug.remote_mode = req
xdebug.remote_autostart = On
xdebug.remote_log = /tmp/xdebug.log
xdebug.idekey = VSCODE
max_execution_time = 0
Run Code Online (Sandbox Code Playgroud)
xdebug.log 的输出
245] Log opened at 2020-09-09 14:42:21
[245] I: Connecting to configured address/port: …Run Code Online (Sandbox Code Playgroud) 我的目标是将此 git repo 用于 Laravel 和 xdebug 用于 php-fpm:https : //github.com/aschmelyun/docker-compose-laravel
使用此 repo 时,我运行:
这是来自上述 repo 的 docker 文件:
FROM php:7.4-fpm-alpine
ADD ./php/www.conf /usr/local/etc/php-fpm.d/www.conf
RUN addgroup -g 1000 laravel && adduser -G laravel -g laravel -s /bin/sh -D laravel
RUN mkdir -p /var/www/html
RUN chown laravel:laravel /var/www/html
WORKDIR /var/www/html
RUN docker-php-ext-install pdo pdo_mysql
Run Code Online (Sandbox Code Playgroud)
我还在此处添加了端口(compose.dockerfile):
php:
build:
context: .
dockerfile: php.dockerfile
container_name: php
volumes:
- ./src:/var/www/html:delegated
ports:
- "9000:9000"
# Added next line:
- …Run Code Online (Sandbox Code Playgroud) 我在 Mac 上使用 PhpStorm。我正在尝试在远程 Ubuntu 服务器上的 Sail 容器内调试 Laravel 应用程序。
我从 Sail 容器内的 Xdebug 看到的错误是:
[17] Log opened at 2021-09-26 21:24:59.590599
[17] [Step Debug] INFO: Checking remote connect back address.
[17] [Step Debug] INFO: Checking header 'HTTP_X_FORWARDED_FOR'.
[17] [Step Debug] INFO: Client host discovered through HTTP header, connecting to 89.164.145.129:9003.
[17] [Step Debug] WARN: Could not connect to client host discovered through HTTP headers, connecting to configured address/port: host.docker.internal:9003. :-|
[17] [Step Debug] INFO: Connected to debugging client: XXX.XXX.XXX.XXX:9003 (from …Run Code Online (Sandbox Code Playgroud)