从localhost / public目录请求php文件时,Zend 2 Http Client Request超时

时间:2016-06-19 09:43:23

标签: apache zend-framework2 xampp httprequest php-5.6

从Zend Controller Action向localhost发出的以下http请求因超时而失败。我的猜测是我错过了一个非常基本的概念,因为对外部uri(例如www.google.com)的请求正常返回。

当然,下面的网址($ localUrl)会在直接粘贴到浏览器时返回预期结果(TEST)。

我正在使用Zend Framework 2(基于当前的skelleton应用程序 - 今天:2016/06/19)在XAMPP 3.2.2 Windows(开发人员环境)中使用PHP 5.6.21并启用了xdebug。

更新1

我现在调试得更深了一些:

发送请求时,程序会在超时期间卡住。

之后我得到了一个" Zend \ Http \ Client \ Adapter \ Exception \ TimeoutException"。

之后调试器中的代码会跳转到所请求的php脚本(checklogin.php),为了简单起见,我只使用了一个echo语句。

之后,脚本会停止,而不是继续在Action函数中返回结果,而是会出现Timeout Exception Errorpage。

请不要过多地阅读代码,因为它还没有正确处理结果。

namespace MyModule\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Zend\Http\Client;

class PhpbbAuthController extends AbstractActionController{

public function checkAction(){
    $localUrl = 'http://localhost/zendproject/public/phpbbauth/checklogin.php';

    $client = new Client($localUrl , array(
      'maxredirects' => 0,
      'timeout'      => 10
    ));
    $response = $client->send();

    return new ViewModel(array('content'=>$response->getContent()));
}

}

更新2

checklogin.php的内容

<?php
echo "TEST";
?>

小注: 对于我的整体问题,很可能有更好的解决方案,即将zend应用程序集成到现有论坛的PHPBB3身份验证中,但在此处包含此内容将超出此问题的范围。

0 个答案:

没有答案