Pull to refresh

Как установить и пользоваться командой phpize

В процессе самостоятельной настройки нового сервера (в связи с переездом нашего сервиса на новую площадку) пришлось повозиться с установкой модуля Xdebug, который нужен нашим разработчикам для разработки и тестирования кода. На одном из форумов предлагалось протестировать его работу коммандой phpize.

Комманда phpize является часть PHP пакета для разработчиков. Если у вас на сервере ее нет, то нужно установить. На Debian это делается так:

# apt-get install php5-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
php5-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
 


Как видите у меня на сервере установлена самая свежая версия пакета php5-dev.

Команда phpize используется для подготовки окружения PHP-расширения. В следующем примере директория, где находятся исходные коды расширения, называется extname:

$ cd extname
$ phpize
$ ./configure
$ make
# make install


В случае успешной установки будет создан файл extname.so и помещен в PHP директорию расширений. Вам будет необходимо добавить строку extension=extname.so в php.ini перед использованием этого расширения.

Моя проблема


Я не знал как пользоваться этой команды. При запуске команды phpize я получил следующую ошибку:

# phpize
Cannot find config.m4. 
Make sure that you run '/usr/bin/phpize' in the top level source directory of the module


Методом научного тыка я решил сделать обновление/установку следующих пакетов, как посоветовал мне мой товарищ:

 # sudo apt-get install autoconf automake libtool m4
Reading package lists... Done
Building dependency tree
Reading state information... Done
autoconf is already the newest version.
automake is already the newest version.
m4 is already the newest version.


Оказалось, что у меня все эти пакеты установлены и с ними проблем не может быть.

Тогда я решил поискать эти файлы config.m4.

# cd /
# find -name 'config.m4'
./var/xdebug-2.2.1/config.m4
./var/xdebug-2.2.2/config.m4
./var/memcache-2.2.7/config.m4


Этот поиск сразу и решил мою проблему, так как в системе было две версии Xdebug. Я зашел в директорию нужной мне версии и запустил там phpize:

cd ./var/xdebug-2.2.2/
# phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626


Осталось только перебрать и установить нужный модуль:

$ phpize
$ ./configure
$ make
# make install


Перегружаем Apache2 и наслаждаемся нормальной работой модуля.

Кстати, если у тебя не получается запустить команду путем ввода в командную строку phpize, то пробуйте /usr/bin/phpize. Она должна быть в этой директории или просто поищите, где она находится:

# whereis phpize
phpize: /usr/bin/phpize /usr/share/man/man1/phpize.1.gz


В этом случае путь /usr/bin не прописан в глобальной переменной PATH, но я уверен, что он должен там быть. Решение следущее:

#PATH=$PATH\:/usr/bin; export PATH 


Всем удачи!
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.