ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

WAMP关闭PHP解析功能

WAMP关闭PHP解析功能 本文为博主原创文章未经作者授权禁止任何形式的转载。一、问题本地安装WAMP软件之后在www目录下写了测试用的html代码和PHP代码测试代码分别如下h1张三的第一个网页/h1 pHello, World!/p?php phpinfo(); ?于是问题来了为什么浏览器访问html文件时是直接展示了文件的内容但是浏览器访问PHP代码时展示却不是PHP代码内容呢上网查询后得知浏览器和服务器对这两类文件的处理方式完全不同。核心区别在于HTML 是浏览器能直接“读懂”的语言而 PHP 是需要服务器先“加工”的语言。这两类不同文件的处理逻辑分别如下1、HTML1浏览器直接读取这个文件2浏览器本身就是 HTML 的解析器它认识 html、div、script 这些标签3浏览器把这些标签渲染成网页展示给你。2、PHP1浏览器请求PHP文件2Web服务器识别出这是 .php 文件不会直接返回它而是交给 PHP 解析器执行3PHP解析器执行代码比如连接数据库、处理逻辑然后输出 HTML4服务器把生成的 HTML 返回给浏览器5浏览器拿到的是纯 HTML正常渲染成网页。那么问题来了我想看到Web服务器没有配置PHP解析器时的访问效果该怎么关闭这个功能呢二、步骤1、修改httpd.conf打开Apache的主配置文件httpd.conf注释以下配置行。httpd.conf在WAMP安装目录下的bin\apache\apache2.4.62.1\conf子目录中。第200和201行#PHPIniDir ${APACHE_DIR}/bin#LoadModule php_module ${INSTALL_DIR}/bin/php/php8.3.14/php8apache2_4.dll第465行#AddHandler application/x-httpd-php .php网上一开始仅要求完成上述步骤即可注释掉PHP解析器的功能。但是重启WAMP后发现Apache服务无法正常启动了。2、检查Apache服务的配置文件语法在windows下打开cmd命令行进入WAMP安装目录下的bin\apache\apache2.4.62.1\bin子目录执行以下命令httpd.exe -t此时出现报错如下phpmyadmin.conf文件居然出现了报错但是我们并没有修改过这个文件。查询得知php_admin_value是PHP 模块提供的指令当我们注释掉Apache加载 PHP的模块后Apache不再认识php_admin_value、php_admin_flag这类 php 相关的指令。而 WAMP的phpmyadmin.conf配置文件里面就写了php_admin_value读到这一行直接语法报错Apache 校验失败无法启动。3、修改phpmyadmin.conf打开Apache的配置文件phpmyadmin.conf注释以下配置行。phpmyadmin.conf在WAMP安装目录下的alias子目录中。第8-11行# php_admin_value upload_max_filesize 128M# php_admin_value post_max_size 128M# php_admin_value max_execution_time 360# php_admin_value max_input_time 360重启服务。三、验证1、服务重启后WAMP显示为绿色图标表示所有服务正常运行。2、浏览器访问PHP文件时弹窗提示下载对应文件。至此Apache服务器的PHP解析功能被正常关闭。
返回列表