PHP. Внешний класс / библиотека доступен из apache, но не из phpunit

Я использую библиотеку сокетов ZeroMQ в своем веб-приложении. Я настроил php.ini, поэтому Apache может использовать ZMQ, но я не знаю, как phpunit может его использовать.

Dont phpunit использует тот же php.ini, который использует apache?

В phpunit я получаю следующую ошибку.

PHP Fatal error: Class 'ZMQContext' not found in /home/idlecool/checker/testcases/checkerTest.php on line 53

Какой файл php.ini используется для Apache и командной строки, как правило, зависит от вашего дистрибутива Linux; если вы используете Debian или Ubuntu, у вас обычно есть:

  • /etc/php5/apache2/php.ini для Apache
  • и /etc/php5/cli/php.ini для командной строки – и PHPUnit запускается как приложение с командной строкой.

Но обратите внимание, что довольно часто (это верно для Ubuntu, по умолчанию) , все .ini файлы из каталога /etc/php5/conf.d/ будут загружены в обоих режимах Apache и CLI.

Это означает, что если вы хотите, чтобы расширение было загружено в обоих режимах, вы должны создать файл .ini в этом каталоге, загрузить и настроить его.

Например, у вас может быть файл /etc/php5/conf.d/zmq.ini , содержащий что-то вроде:

 extension=zmq.so 

(конечно, вам нужно будет .so файла .so ).