【问题标题】:PHP execution terminating early when accessing via browser通过浏览器访问时PHP执行提前终止
【发布时间】:2015-02-06 22:03:51
【问题描述】:

我正在尝试了解 PHP,并在 Apache/Linux 上设置一个小脚本。

如果我在 shell 中将其称为php index.php,它会执行得很好。但是如果我通过我的浏览器调用它,它就无法执行。 apache 错误日志中没有任何信息。

这可能是什么原因?

该脚本正在通过Gouttecurl 抓取另一个获取url,因此执行大约需要3 秒。

-- 响应cmets--

我省略了代码,因为它是微不足道的,一个 Goutte 客户端,一个请求,然后提取 h1 标记。

它在控制台中工作,但通过 Chrome 调用告诉我我缺少 curl - 这是使用 apt-get install php-curl 安装的

【问题讨论】:

  • 我们应该在哪里提供帮助?我们应该修复隐形代码吗?
  • 您是否确认在 httpd.conf 中或通过加载带有phpinfo(); 的页面为您的 Apache 服务器启用了 PHP?

标签: php goutte


【解决方案1】:

首先,显示 php 错误...将其粘贴到页面的最顶部

ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);

然后查看它,您应该会根据情况看到错误/警告列表。否则需要查看你的一些代码才能知道你在处理什么。

如果失败并且仍然给你什么/空白页面。确保一个非常基本的 php 脚本通过网络浏览器在你的服务器上运行。

<?php
  echo 'Hello World From PHP';
?>

【讨论】:

  • 谢谢。完成后,我可以看到错误消息返回我缺少 curl。这很奇怪,因为它是在服务器上本地调用它时安装和使用的。
  • 确保 extension=php_curl.dll 已启用
  • 因为我不经常使用 CLI/CGI,但一般会猜测它是禁用的,在配置文件前面有一个分号。但至于它在 CLI 上工作,不确定那里。
  • 一般来说,为php启用curl的google应该会返回结果
  • 感谢混乱。我发现了这个问题。我已经安装了 php5-curl,但从那以后没有重新启动 apache。
【解决方案2】:

我现在找到了原因。安装 php5-curl 后我没有重新启动 apache。

【讨论】:

    猜你喜欢
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 2012-06-01
    • 2013-06-07
    • 2014-08-20
    • 2010-10-07
    • 1970-01-01
    相关资源
    最近更新 更多