Google Compute Engine部署的PHP应用无法找到并编辑service=training页面对应文件怎么办
问题解决指南
核心认知纠正
?service=training属于URL的GET查询参数,不是文件/目录路径,所有带该参数的请求统一由about.php处理,不存在独立的service=training对应实体文件,你用ls命令找不到对应文件是正常情况。- vi是本地文件编辑工具,无法直接编辑HTTP/HTTPS协议的URL地址,你尝试打开网页链接的操作本身不合法,这也是触发
E212: Can't open file for writing报错的根本原因。
具体操作步骤
- 编辑本地的
about.php文件,如果你所在账户没有htdocs目录的写入权限,需要加sudo提权,命令示例:
sudo vi /你的htdocs完整路径/about.php
- 在打开的
about.php代码中搜索参数处理逻辑,关键词可以是$_GET['service']、$_REQUEST['service'],找到training参数值对应的判断分支,一般代码结构类似如下:
<?php // 其他逻辑代码 if ($_GET['service'] === 'training') { // 此处就是训练页面对应的文本输出代码,直接修改这里的文本即可 echo "<h1>培训服务介绍</h1> <p>这里是你要修改的训练服务描述文本</p>"; } // 其他逻辑代码 ?>
- 文本修改完成后,按
ESC键退出编辑模式,输入:wq回车保存退出即可。 - 刷新
https://www.example.com/about.php?service=training页面验证修改效果,若未生效可以清理浏览器缓存或者PHP OPcache缓存。
特殊情况说明
如果在about.php中找不到硬编码的文本内容,说明该页面的内容是从数据库中读取的,你需要登录对应的数据库,找到存储服务介绍的表,修改training类型对应的记录即可。
内容的提问来源于stack exchange,提问作者Chukwuemeka Mbaebie
相关产品推荐
相关产品推荐

