Невозможно сделать SimpleTest GET и POST в тестовом примере, используя Drupal6 и SimpleTest

Через некоторое время я запустил этот образец теста, пакетный экран 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 test-run, и они работают нормально.

== РЕДАКТИРОВАТЬ2 ==

Это оказалось ошибкой curl_setopt_array, она возвращает FALSE во время DrupalWebTestCase::curlInitialize(). Дальнейшего продвижения по проблеме нет.

== EDIT3 ==

После более глубокой отладки выяснилось, что это проблема с curl CURLOPT_FOLLOWLOCATION, которая вызывает ошибку при попытке установки.


person brazorf    schedule 08.05.2013    source источник


Ответы (1)


CURLOPT_FOLLOWLOCATION не будет работать, если в вашей конфигурации php

  • безопасный_режим = Вкл.
  • open_basedir установлен

Таким образом, изменение одного или обоих из них должно решить проблему. Есть 3 места для достижения этого.

В php.ini safe_mode = Off и закомментируйте open_basedir

В apache.conf или .htaccess

php_value safe_mode Off
php_value open_basedir none

Обратите внимание, что конфигурация вашего сервера должна позволять переопределять значения, чтобы работать с .htaccess.

Также обратите внимание, что CURLOPT_FOLLOWLOCATION устарела, начиная с php 5.3, и удалена в php 5.4.

person brazorf    schedule 13.05.2013