Недавно я купил новый MacBook и пытаюсь настроить его для разработки PHP.
Операционная система - OSX 10.8 Mountain Lion, и я использую встроенный стек Apache2 и PHP 5.3.13.
Мне нужно было установить некоторые расширения: mcrypt и intl. Оба были перекомпилированы мной (из источника, либо из PECL, либо из архива PHP 5.3.13, с использованием «phpize», затем «./configure» и т. Д.) И были установлены и активированы безупречно.
У меня проблемы с gettext расширение. Я пытаюсь использовать тот, который включен в тарбол PHP 5.3.13, могу его скомпилировать и установить. Расширение успешно загружено интерпретатором, но ... Не работает! На самом деле, когда я называю, например, bindtextdomain функция, я получаю ошибку PHP о том, что ее не существует.
Кроме того, "make test" возвращает некоторые ошибки.
Зависимость (библиотека gettext) была установлена с помощью MacPorts (версия: 0.18.1.1, Revision 2).
Намек? Спасибо.
Я тоже натыкался на это последний день. Установив gettext с MacPorts (port install gettext
) и пытаясь настроить php-gettext из источника php правильной версии, он создал бы расширение, но в php были доступны только функции gettext () и bindtextdomain ().
При более внимательном рассмотрении выходных данных configure отображаются такие строки, как checking for ngettext in -lintl... no
Коллега указал, что у Mac есть собственная урезанная версия gettext, поэтому он решил, что конфигурация использует эту libintl для проверки библиотеки поверх версии MacPorts.
Некоторая информация размещено на форуме в ответ на то, что кто-то имеет аналогичную проблему для другого программного обеспечения на FreeBSD, показал мне несколько флагов, заставляющих его сначала искать в каталогах MacPorts. Я использовал строку конфигурации ниже, и теперь все функции gettext доступны в PHP:
./configure --with-gettext=/opt/local CFLAGS=-I/opt/local/include CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib