php - Laravel 6.2:Process 类依赖于 proc_open,这在您的 PHP 安装中不可用
问题描述
大家好
我想使用表单 POST 方法获取网站地址并在我的页面中显示元标记。
我尝试使用 Laravel-6.2 PHP 编写代码,我认为一切正常,但不起作用。我认为在 Curl 代码中是错误的。
我在 Laravel 5.2 中发现了类似的错误:Process 类依赖于 proc_open,这在您的 PHP 安装中不可用,但我使用的是 php 7.2
请帮我找到Controller
中的错误Thankful :
public function MetaChecker(Request $request){
$rules = array(
'url' => 'required|url|max: 255',
'g-recaptcha-response' => 'required|captcha',
);
$messages = array(
'url.required' => 'آدرس سایت معتبر نمی باشد.',
'g-recaptcha-response.required' => 'کد امنیتی معتبر نمی باشد.',
);
$validator = Validator::make( $request->all(), $rules, $messages );
if ( $validator->fails() )
{
return back()
->withErrors($validator)
->withInput();
}
$domain = $request->input('url');
$url = str_replace(array('Array', 'http://', 'https://', 'http://www.', 'https://www.', 'www.', '/'), '', strip_tags($domain));
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
curl_close($ch);
$doc = new DOMDocument();
@$doc->loadHTML($data);
$nodes = $doc->getElementsByTagName('title');
$title = $nodes->item(0)->nodeValue;
$metas = $doc->getElementsByTagName('meta');
for ($i = 0; $i < $metas->length; $i++)
{
$meta = $metas->item($i);
if($meta->getAttribute('name') == 'viewport')
$viewport = $meta->getAttribute('content');
if($meta->getAttribute('name') == 'description')
$description = $meta->getAttribute('content');
}
if ($data != 0) {
return back()->with(
'title', '<span>title : <strong class="en-font"> ' . $title . '</strong></span>')->with(
'description', '<span>description : <strong class="en-font"> ' . $description . '</strong></span>')->with(
'viewport', '<span>viewport : <strong class="en-font"> ' . $viewport . '</strong></span>');
}else{
return back()
->withInput()
->withErrors(array('error' => 'آدرس سایت معتبر نمی باشد.'));
}
}
错误标题:
逻辑异常
Process 类依赖于 proc_open,它在您的 PHP 安装中不可用。
解决方案
推荐阅读
- angular - 如何使用 Visual Studio Code 将在 Visual Studio 2015 中开发的 Angular 4 项目使用到 Angular 6?
- java - 如何将远程配置获取时间保持 15 分钟
- docusignapi - 有没有办法在签署文件时创建自定义签名?
- django - 尝试将本地 django 连接到 Amazon RDS MySQL 数据库时出现 2026 SSL 连接错误
- javascript - 我们如何检查一个机器人是否在您的不和谐服务器中与另一个机器人
- python - 我已经设置了所有的头信息,但我仍然无法获取数据
- css - 完整性和跨域属性在链接标记中显示为无效
- html - 大图像仍然会破坏具有最大宽度和高度的引导列
- eclipse - Tomcat 找不到我的 REST Web 服务类的类
- javascript - Javascript 过滤掉一个类别