php - php:链接预览或网址预览不起作用
问题描述
使用 ubuntu 服务器,18.04,php 7.2。php.ini包括allow_url_fopen= on
. 禁用防火墙不起作用。我也尝试搜索 6 个小时,现在应用了一些随机答案并没有奏效。
到目前为止,这是我的代码:
if (preg_match('@(?<=^|(?<=[^a-zA-Z0-9-_\.//]))((https?://)?([-\w]+\.[-\w\.]+)+\w(:\d+)?(/([-\w/_\.\,]*(\?\S+)?)?)*)@', htmlspecialchars_decode(stripslashes($urlData)), $results)) {
$page = $results[0];
$page = $this->addScheme($page);
// $default_socket_timeout = ini_get('default_socket_timeout');
// ini_set('default_socket_timeout', 3);
$content = file_get_contents("https://api.urlmeta.org/?url=".$page);
// ini_set('default_socket_timeout', $default_socket_timeout);
if ($content) {
$data = json_decode($content, true);
$urlResult = $data['result'];
$urlResponse = $data['meta'];
if ($urlResult['status'] === "OK") {
$urlLink = $page;
if (isset($urlResponse['image'])) {
$urlImage = $urlResponse['image'];
}
if (isset($urlResponse['description'])) {
$urlDescription = $urlResponse['description'];
}
if (isset($urlResponse['title'])) {
$urlTitle = $urlResponse['title'];
}
}
}
}
解决方案
推荐阅读
- bash - 如何在 for 循环中排除某些目录?
- node.js - Socketio 动态命名空间连接事件有时不会触发命名空间范围
- php - 为什么 group by 无法正常工作?拉拉维尔
- javascript - 为什么 (100 / "Apple") == Number.NaN 是假的?
- python - 在heroku中部署python脚本会引发错误
- java - 为 com.sun.jna.Library 中的函数分配内存(来自 C# DLL 的函数)
- azure - Azure 自动化帐户 Powershell 错误设置上下文
- nginx - NGINX URI 重写/添加模式
- python - SQLAlchemy:自引用多对多关系的急切加载
- android - Flutter 小部件布局不正确