php - 如何加载 PHP 页面,然后在保存之前检查它是否有错误?
问题描述
我想在将该页面保存在服务器上之前检查 PHP 页面是否有错误。现在我尝试了 exec 方法,但它被我的虚拟主机阻止了。我可以将页面保存到本地文件,然后使用 curl_init / curl_exec 获取页面响应并尝试解析 php 错误吗?我的意思是可以将本地文件与 curl_init 一起使用吗?
为了更清楚,页面是由另一个 PHP 页面(编辑器)创建/加载和更改的。因此,在所见即所得编辑器中,用户创建一个 PHP 页面并将其保存到服务器,我想在保存之前检查该页面是否没有错误。
谢谢,德扬
解决方案
我已经设法用 curl 解决了这个问题:
摘抄:
...
$data = $_POST['editordata'];
try {
file_put_contents(APPPATH . "views/test.php", $data);
$ch = curl_init(base_url() . "/test");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$content = curl_exec($ch);
curl_close($ch);
if (strpos($content, 'A PHP Error was encountered') !== false){
echo '<div class="dont-break-out" style="color:palevioletred">' . $pages_val . ' ' . $this->lang->line('page_with_error') . '!</div>';
}
else {
...
推荐阅读
- c# - ASP.Net 从 UpdatePanel 触发用户控件下拉列表更改
- javascript - 如何从捕获中返回 Promise 然后拒绝下一个捕获?
- android - Espresso 测试类中的接口侦听器片段问题
- hugo - 如何获取短代码中的图像资源永久链接?
- json - 从axios获取数据时react hook的useState()方法的奇怪行为
- mysql - 带有徽章计数器的引导按钮不起作用
- listview - Flutter - 具有服务和模型的 Future Builder
- javascript - 为什么我在运行 AJAX 查询时得到“$”未定义?
- python - python用正则表达式创建新列
- javascript - 如果值更大,则仅更新 mongo 文档