PHPUnit не распознает расширение cURL - не может установить тест селена - PullRequest
3 голосов
/ 14 декабря 2011

Я на компьютере с Windows 7, на котором работает WAMP-сервер, и пытаюсь установить расширение Selenium для PEAR.Однако всякий раз, когда я пытаюсь установить его, мне говорят, что для него требуется уже включенное расширение PHP "curl":

pear install phpunit/PHPUnit_Selenium

Package "pear.phpunit.de/PHPUnit_Selenium" dependency "pear.phpunit.de/PHPUnit" has no releases
phpunit/PHPUnit_Selenium requires PHP extension "curl"
No valid packages found
install failed

Поэтому я иду проверить свойФайл php.ini, чтобы увидеть, включен ли он.Конечно, вот оно:

extension=php_apc.dll
;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
;extension=php_exif.dll

На этом сайте , мне сказали попробовать это:

  1. Если вы получаетеошибка, так как «Не найдены действительные пакеты, установка не удалась», а затем выполните следующую команду pear upgrade-all

Но когда я запускаю эту команду, она просто говорит мне Nothing to upgrade-all.

После поиска конкретной ошибки я обнаружил ошибку PHP, в которой упоминается

Расширение php "curl" необходимо загрузить в сам php как расширение.

запустите эту команду

php -me

Если "curl" не указан как один из [модулей PHP], он не будет работать.

И я не совсем уверен, как загрузить это "в сам php как расширение" в Windows.Есть простой способ сделать это?Или чтобы заставить PEAR поверить, что я действительно установил это?

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

Для записи, мое расширение curl равно замечено PHP (из php_info ()):

cURL support    enabled
cURL Information    7.20.0

Ответы [ 6 ]

12 голосов
/ 14 декабря 2011

В большинстве случаев я бы сказал, что это связано с проблемой конфигурации php.

Самый простой способ проверить это - использовать php -i и посмотреть, появляется ли расширение curl в выходных данных. Если это не так, то что-то не так с командной строкой php. Скорее всего, он использует неправильный файл php.ini. php --ini можно использовать для проверки


Но может случиться так, что кто-то не захочет или не сможет включить расширение curl по какой-то причине, поэтому я приму это как ответ:

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

pear install --onlyreqdeps phpunit/phpunit 

не следует устанавливать Selenium.

И на всякий случай всегда есть что попробовать:

pear install --force --alldeps phpunit/phpunit

Чтобы сказать Груше, что нужно обратить внимание на то, что растяжение локона не распознано, есть:

pear install --force phpunit/PHPUnit_Selenium

, который может сработать, если есть какая-то проблема, из-за которой просто pear не подбирает расширение, а обычные сценарии.

6 голосов
/ 08 мая 2013

У меня была эта проблема в Ubuntu, и я решил ее, выполнив следующую команду:

sudo apt-get install php5-curl

Очевидно, есть два разных пакета curl (curl иphp5-curl), php5-curl предназначен для php.

Надеюсь, это поможет

1 голос
/ 08 февраля 2012

Необходимо внести изменения в два php.ini в разных местах, например:

  1. C: \ wamp \ bin \ php \ php5.3.8
  2. C:\ wamp \ bin \ apache \ Apache2.2.21 \ bin

Начиная примерно со строки 950, вы увидите

; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.
; 
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_exif.dll
...

Измените расширение "; extension = php_curl.dll" на "= php_curl.dll "

Перезагрузите сервер, и вы должны быть готовы к работе.

1 голос
/ 20 января 2012

Во время работы над WAMP есть два файла php.ini

  1. Под Apache
  2. Под Php

Убедитесь, что вы не комментировали "extension=php_curl.dll"в обоих файлах.Вы хороши после редактирования обоих файлов и перезапуска сервера Wamp.Установщик pear может искать настройки curl в пути PHP, даже если ваш сервер wamp использует версию Apache.

0 голосов
/ 23 мая 2013

Я следовал за этим ответом выше, и я изменил эти файлы и работает правильно.

C:\wamp\bin\php\php5.3.13
C:\wamp\bin\apache\apache2.2.22\bin
0 голосов
/ 13 февраля 2013

когда вы меняете php.ini с wamp-сервера, даже из меню php, он меняет версию apache и вообще не влияет на php. Я изменил их из файловой системы, и это работает. : -)

...