【问题标题】:Php Local Host and server are different result [duplicate]PHP本地主机和服务器是不同的结果[重复]
【发布时间】:2018-05-25 06:08:01
【问题描述】:

我已经为 lk 域搜索创建了脚本。

这是代码

<form action="" method="GET">
    <input type="text" name="dm" placeholder="tx">
</form>

<?php 

if (isset($_GET["dm"])) {

    $domain = $_GET["dm"];

    $res = file_get_contents("https://www.domains.lk/domainsearch/doDomainSearch?domainname=$domain");

    echo $domain;
}

?>

<script type="text/javascript">

    var data = '<?php echo $res ?>';

    document.write(data);

</script>

var 数据将显示在本地主机中。但我已将它托管在我的服务器中,然后结果将不会显示。

这是服务器托管文件http://vishmaloke.com/dm/ser.php

【问题讨论】:

  • 确保您在服务器的php.ini 文件中启用了扩展php_openssl.dll。之后您必须重新启动您的网络服务器(Apache/Nginx)。
  • 查看错误日志。必须对正在发生的事情进行描述。

标签: javascript php html arrays error-handling


【解决方案1】:

解决方案 #1

有名称为allow_url_fopen 的PHP 设置。必须启用此功能才能从远程 url 获取内容。您可以通过.htaccess 文件进行操作。

将以下行放入您希望启用该设置的目录中的.htaccess 文件中:

php_value allow_url_fopen On

注意:上述设置仅适用于放置.htaccess文件的同一目录。


解决方案 #2

您也可以更新php.ini

PHP.INI 更新

将以下行添加到php.ini

allow_url_fopen = On;

解决方案 3

建议使用curl,而不是file_get_contents

CURL 更新

if (isset($_GET["dm"]))
{

    $domain = $_GET["dm"];

    // curl
    $curl_handle=curl_init();
    curl_setopt($curl_handle, CURLOPT_URL,"https://www.domains.lk/domainsearch/doDomainSearch?domainname=$domain");
    curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
    curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
    $res = curl_exec($curl_handle);
    curl_close($curl_handle);


    echo $domain;
}

【讨论】:

  • 这可能不仅仅是一个问题。
  • @Pyton 我同意,但这是这种情况下最常见的问题
猜你喜欢
  • 1970-01-01
  • 2015-06-12
  • 2018-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-23
  • 2015-10-11
  • 1970-01-01
相关资源
最近更新 更多