在centos 6.4上使用xdebug进行远程调试

在centos 6.4上使用xdebug进行远程调试,centos,php,xdebug,Centos,Php,Xdebug,我尝试用phpstorm远程调试php应用程序。我在vmware虚拟机上使用centos 6.4、php5.3和apache 2.2,在real ubuntu上使用phpstorm和firefox。 确实安装了xdebug: Installed Packages Name : php-pecl-xdebug Arch : i686 Version : 2.1.4 Release : 1.el6 Size : 580 k Repo

我尝试用phpstorm远程调试php应用程序。我在vmware虚拟机上使用centos 6.4、php5.3和apache 2.2,在real ubuntu上使用phpstorm和firefox。 确实安装了xdebug:

Installed Packages
Name        : php-pecl-xdebug
Arch        : i686
Version     : 2.1.4
Release     : 1.el6
Size        : 580 k
Repo        : installed
From repo   : epel
Summary     : PECL package for debugging PHP scripts
URL         : http://pecl.php.net/package/xdebug
License     : PHP
phpinfo也证实了这一点:

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with Xdebug v2.1.4, Copyright (c) 2002-2012, by Derick Rethans
当我通过ssh从控制台运行脚本(simple hello world)时,我的脚本被停止,我从xdebug获得到mu ide的连接,并且xdebug在自己的日志中写入信息。 但当我从browsen运行脚本时,即使在xdebug日志中,它也没有效果。 我尝试使用firefox扩展启动调试会话,我尝试使用xdebug.remote_autostart=1选项,tru在centos中关闭iptables,但也没有效果。 我做错了什么? xdebug配置:

; Enable xdebug extension module
zend_extension=/usr/lib/php/modules/xdebug.so
;xdebug.remote_host=10.0.0.1
xdebug.remote_connect_back=1
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
;xdebug.remote_mode=req
;xdebug.profiler_enable=1
;xdebug.profiler_enable_trigger=1
;xdebug.remote_autostart=1
;xdebug.idekey=PHPSTORM
xdebug.remote_log="/tmp/xdebug.log"

天哪,问题解决了。都是塞利努克斯


setsebool httpd_can_network_connect=1,nttpd重启-phpstorm从xdebug获取连接。

etc/selinux/config change

  • 此文件控制系统上SELinux的状态

  • SELINUX=可以取以下三个值之一:

  • 强制执行-强制执行SELinux安全策略

  • 许可-SELinux打印警告,而不是强制执行

  • 已禁用-未加载SELinux策略。 SELINUX=强制执行

  • SELINUXTYPE=可以取三个或两个值中的一个:

  • 有针对性-有针对性的流程受到保护

  • 最小-修改目标策略。仅选择所选流程 受保护

  • mls-多级安全保护

SELINUXTYPE=目标

  • 此文件控制系统上SELinux的状态

  • SELINUX=可以取以下三个值之一:

  • 强制执行-强制执行SELinux安全策略

  • 许可-SELinux打印警告,而不是强制执行

  • 已禁用-未加载SELinux策略

SELINUX=禁用

  • SELINUXTYPE=可以取三个或两个值中的一个:

  • 有针对性-有针对性的流程受到保护

  • 最小-修改目标策略。仅选择所选流程 受保护

  • mls-多级安全保护


SELINUXTYPE=targeted

您好,请详细说明您的答案好吗?我正在努力实现同样的目标,但到目前为止还没有实现。谢谢你有同样的问题吗?xdebug可以从控制台脚本获取连接,但无法获取http服务器何时执行脚本?你在redhat/centos/fedora(selinux系统)工作吗?是的,没错。我的虚拟机服务器使用Centos 7,主机是OS XWell,我的所有操作都是来自虚拟机控制台的两个命令:setsebool httpd_can_network_connect=1,然后服务httpd restart此命令执行时是否没有错误?