我尝试用phpstorm远程调试php应用程序。我在vmware虚拟机上使用centos 6.4,php5.3和apache 2.2,在真正的ubuntu上使用firefox的phpstorm。 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从控制台运行脚本(简单的hello world)时,我的脚本停止了,我从xdebug和xdebug连接到mu ide并在自己的日志中写入信息。 但是当我从browsen运行脚本时 - 即使在xdebug日志中也没有效果。 我尝试使用firefox扩展来启动调试会话,我尝试使用xdebug.remote_autostart = 1选项,tru关闭了centos中的iptables,但也没有效果。 我做错了什么? xdebug config:
; 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"
答案 0 :(得分:6)
天啊,问题解决了。这都是selinux。
setsebool httpd_can_network_connect = 1,nttpd restart - 和phpstorm从xdebug获取连接。
答案 1 :(得分:0)
etc / selinux / config change
此文件控制系统上SELinux的状态。
SELINUX =可以采用以下三个值中的一个:
强制执行 - 强制执行SELinux安全策略。
permissive - SELinux打印警告而不是强制执行。
已禁用 - 未加载SELinux策略。 SELINUX =执行
SELINUXTYPE =可以取三个值中的一个:
有针对性 - 有针对性的流程受到保护,
最低 - 修改目标政策。只有选定的流程 保护。
mls - 多级安全保护。
SELINUXTYPE =有针对性的
到
此文件控制系统上SELinux的状态。
SELINUX =可以采用以下三个值中的一个:
强制执行 - 强制执行SELinux安全策略。
permissive - SELinux打印警告而不是强制执行。
已禁用 - 未加载SELinux政策。
SELINUX =已停用
SELINUXTYPE =可以取三个值中的一个:
有针对性 - 有针对性的流程受到保护,
最低 - 修改目标政策。只有选定的流程 保护。
mls - 多级安全保护。
SELINUXTYPE =有针对性的