运行此示例测试一段时间后,Drupal批处理屏幕(带有进度条的屏幕)停止运行,服务器日志中没有错误记录,整个浏览器窗口保持冻结状态。代码是非常基本的:
<?php
class FooTestCase extends DrupalWebTestCase {
public static function getInfo() {
return array(
'name' => 'test',
'description' => 'test',
'group' => 'Foo',
);
}
public function setUp() {
parent::setUp();
}
public function testLogin() {
// The drupalCreateUser() runs fine
$user = $this->drupalCreateUser(array('access content'));
// If i comment out the following, test runs fine.
$this->drupalLogin($user);
}
}
?>我遗漏了什么?
== EDIT1 ==
另一条线索:我通过drush测试运行测试,它们运行得很好。
== EDIT2 ==
这原来是一个curl_setopt_array错误,它在DrupalWebTestCase::curlInitialize()期间返回FALSE。在这个问题上没有进一步的进展。
== EDIT3 ==
经过更深入的调试,这是curl CURLOPT_FOLLOWLOCATION的一个问题,在设置尝试时会触发一个错误。
发布于 2013-05-13 10:18:14
如果在您的php配置中,CURLOPT_FOLLOWLOCATION无法工作,
因此,改变其中一个或两个应该解决这个问题。有三个地方可以实现这一点。
在php.ini safe_mode = Off中,并注释掉open_basedir
在apache .conf或.htaccess中
php_value safe_mode Off
php_value open_basedir none注意,为了在.htaccess上工作,服务器配置必须允许重写值。
还请注意,自php5.3以来,CURLOPT_FOLLOWLOCATION已被废弃,并在php5.4中被删除。
https://stackoverflow.com/questions/16436240
复制相似问题