【问题标题】:Why PHP script returns empty string on server为什么 PHP 脚本在服务器上返回空字符串
【发布时间】:2012-03-30 01:29:47
【问题描述】:

我在 localhost 中运行它,它可以工作。在服务器中,PHP 脚本返回空字符串。

包含脚本的 PHP 文件:

<body>
<table>
    <tr>
        <td>
            <?php
                function repstr($str) {
                   return str_replace("x", "y", $str);
                }

                echo stripslashes(urldecode(repstr($_REQUEST["par"])));
            ?>
        </td>
    </tr>
</table>
</body>

在 localhost 中调用的 URL:

https://localhost/myscript.php?par=x123

在服务器上:

https://domain.com/myscript.php?par=x123

两者都返回 HTML。但是 localhost 在 td 元素中有预期的内容,服务器 td 没有内容。

会是什么?

编辑:我目前无权访问服务器中的 PHP 文件。

【问题讨论】:

  • 你看网页源码了吗?那里有任何警告或错误吗?
  • 您没有将变量 code 传递给 URL。你正在传递par$_GET['par'] 有效吗?
  • 检查 PHP 错误日志。
  • 尝试添加 var_dump($_REQUEST),看看你得到了什么。
  • 注意,没有必要在$_POST/$_GET/$_REQUEST/$_COOKIE上调用urldecode()。 PHP 会自动执行此操作。

标签: php https


【解决方案1】:

你不是说:

return str_replace("x", "y", $str);

?

【讨论】:

  • 啊,是的,制作更简单的代码版本时出错。已更正,谢谢
【解决方案2】:

它正在工作。确保您具有执行代码的正确权限。最低为 755。

【讨论】:

    【解决方案3】:

    我的本​​地主机和服务器之间存在配置差异。 GET参数很长,服务器不接受。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 2014-09-25
      相关资源
      最近更新 更多