首页 > 解决方案 > 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'];
                    }
                }
            }
        }

标签: phpubuntufile-get-contentsfirewall

解决方案


推荐阅读