参考教程1
php下载非线程版
一、Apache下载安装
因为Apache官网只提供源代码,如果要使用必须得自己编译,这里我选择第三方安装包Apache Lounge。
• 进入Apachelounge官方下载地址
• 首先下载并安装vc redist,64位网址,这是Apache运行必需的一个组件。
• 下载Apache解压版,下载教程,下载链接,将解压后的文件夹放在你想要安装的路径下。
• 修改配置文件: Apache默认存在路径:“c:\Apache24
” 下(版本号可能不同)。如果跟你的安装路径不同,需要打开
Apach\conf\httpd.conf
配置文件,将其中所有前面没有被"#
“注释的”c:\Apache24"、"*c:\Apache24\htdocs
“和”c:\Apache24\cgi-bin\
“改成对应的路径。
• 指定IP和端口:
在httpd.conf
找到”ServerName www.example.com:80
",将前面的注释去掉,将"www.example.com
“修改为”localhost
"。如果你要修改端口,将这里"80”和前面“Listen:80”中的80一起修改。
• (可选)添加系统变量:将"Apache的安装路径\bin"添加到Path中。
• 验证安装是否成功:运行Apache的启动httpd.exe。在浏览器上输入localhost:80
,如果不是无法访问那么Apache的配置便完成了。
• 注意运行Apache启动是否需要管理员权限进入cmd设置,如果管理员权限设置了,必须下一次管理员权限启动。设置apache环境变量后不需要到它的安装目录的bin下面执行命令
二、PHP下载配置
• 安装配置PHP
进入PHP下载地址下载最新线程安全版PHP zip压缩包,解压缩后放在想要安装的路径下。注意:下载的PHP VC版本不能比前面安装的vc redist版高。
进入PHP安装目录,复制一份php.ini-development改名为php.ini
放到安装路径下,打开php.ini
找到"extension_dir
",去掉注释符,将值改为"PHP安装路径\ext
"
• 在Apache中加载PHP
打开Apache的配置文件conf\httpd.conf
,找到LoadModule区域,在其后加入:
LoadModule php7_module "PHP安装路径\php7apache2_4.dll"
# 在Apache中以module的方式加载PHP,“php7_module”中的“7”要和PHP的版本对应;此外,不同的PHP版本“php7apache2_4.dll”可能不同。
PHPIniDir "PHP安装路径"
#告诉Apache PHP的安装路径
• 定义执行PHP模块的文件
• 查找 AddType application/x-gzip.gz.tgz
,在其下一行添加代码:AddType application/x-httpd-php .php .html
:声明.php和.html的文件能执行PHP程序。
• 测试:在 Apache安装路径\htdocs
下新建文件:test.php
,里面编辑:
<?php phpinfo(); ?>
启动Apache, 在浏览器输入:localhost:80/test.php
。
debug调试环境
(1 )下载xdebug 下载一定要正确,我就是因为下载错了所以配置失败。
使用xdebug网站自带的监测工具就可以,把phpinfo()或php -i的输出粘贴进来就可以知道该下载哪个版本了
监测网址
到官网 下载
找到对应PHP版本的 Xdebug ,后面带 TS 的为线程安全,本机环境为 win10 64 + php-7.3.2-Win64-VC15-x64 ,下载的是 Xdebug 2.7.0RC2 PHP 7.3.2VC15TS (64 bit)
(2)、安装:
Win :将下载的dll文件(这里是php_xdebug-2.3.3-5.5-vc11-x86_64.dll
)放到 php 安装目录的 ext 文件夹下。本机放在 D:\ApacheServer\php\ext\
在ApacheServer下面新建xdebug文件夹,再在xdebug下面新建trace与profiler文件夹,用来存放xdebug生成的两种信息
(3)、编辑php.ini,加入下面几行
[Xdebug]
zend_extension = "D:\program\php7_3_2\ext\php_xdebug-2.7.0RC2-7.3-vc15-x86_64.dll"
;zend_extension = "D:\program\php7_3_2\ext\php_xdebug-2.7.0RC2-7.3-vc15-x86_64.dll"
;指定Xdebug扩展文件的绝对路径
xdebug.auto_trace=on
;启用代码自动跟踪
xdebug.collect_params=on
;允许收集传递给函数的参数变量
xdebug.collect_return=on
;允许收集函数调用的返回值
xdebug.trace_output_dir="D:\program\php7_3_2\PHP_xdebug\trace"
;指定堆栈跟踪文件的存放目录
xdebug.profiler_enable=on
;是否启用Xdebug的性能分析,并创建性能信息文件
xdebug.profiler_output_dir="D:\program\php7_3_2\PHP_xdebug\profiler"
;指定性能分析信息文件的输出目录
xdebug.remote_enable=on
;是否开启远程调试
xdebug.remote_host=localhost
;指定远程调试的主机名
xdebug.remote_handler=dbgp
;指定远程调试的处理协议
xdebug.remote_port = 9000
;指定远程调试的端口号
xdebug.show_exception_trace= On
;开启远程调试自动启动
xdebug.remote_autostart= On
;收集变量
xdebug.collect_vars= On
;收集返回值
xdebug.idekey = PHPSTORM
;指定传递给DBGp调试器处理程序的IDE Key
xdebug.show_local_vars= On
;显示默认的错误信息
xdebug.default_enable = On
;用于zend studio远程调试的应用层通信协议
xdebug.max_nesting_level = 10000
**;如果设得太小,函数中有递归调用自身次数太多时会报超过最大嵌套数错
(4) 参数解释:
zend_extension = "D:\ApacheServer\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
与 Zend Debugger 一样
不同系统及 PHP 版本有不同写法
Linux 和 Mac OS X : zend_extension = "D:\ApacheServer\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
Windows Thread-Safe 版 PHP : zend_extension_ts = "D:\ApacheServer\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
Windows Non-Thread-Safe 版 PHP : zend_extension = "D:\ApacheServer\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
所以同一服务器只能加载一个调试工具,要么 Zend Debugger 要么 Xdebug
但在 PHP5.5 环境下测试, Thread-Safe 版 PHP 后面不能加 _ts 只能写成 zend_extension = xdebug.profiler_enable = on
及后面的目录 "D:\ApacheServer\xdebug"
作用是开启把执行情况的分析文件写入到指定目录中的功能,可自由设置。也可不写
生成的文件,例如 cachegrind.out.4408 这种格式命名的文件,用编辑器打开可以看到很多程序运行的相关细节信息
(5)检查 Xdebug配置安装是否成功
方法1 命令行输入>php -m
方法2 重启Apache,我们在一个php测试一下phpinfo(),写一个文件在浏览器内打开,内容 如下
<?php
phpinfo();
?>
打开看到一长串图文消息下面有
方法三:重启apache
先写一个可以导致执行出错的程序,例如尝试包含一个不存在的文件。
<?php
require 'abc.php';
?>
然后通过浏览器访问,惊奇地发现,出错信息变成了彩色的了,并且Xdebug跟踪代码的执行
在eclipse中配置PHP
finish后效果下图
浏览器输入对应PHP地址后,无法解析php
解决:在命令行输入httpd -t,可以查看是不是Apache的启动问题,如下图:
在eclipse中调试php
双击PHP CLI Application
在Name处输入想要的名称,在PHP File处右边点击Browse,选择要debug的文件,点击下面的Apply即可
或者打开要运行的页面
Run->Debug As->PHP CLI Application
即可以调试模式运行,也可选择CLI之外其他调试模式
点击工具栏向下箭头(Step Into)或按 F5 逐行执行。点击左边的绿色向右箭头(Resume)或按F8一直执行,直到断点处停下
点击红色按钮(Terminate)结束调试,再点击臭虫按钮重新开始调试
1、在运行文件右击,run as->PHP Web Application,在随后出现的窗口点击OK
提示没有存在的PHP Server,点击OK
configure
如果run as->OK 以后解析地址错误,设置服务器错误,可以重新设置默认的服务器
把运行的文件放到这里,run as->PHP Web Application
上图的5处要和一致