Недавно я купил новый 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 правильной версии, он создал бы расширение, но только функции gettext () и bindtextdomain () были доступны в php.
Более пристальный взгляд на вывод configure показывает такие строки, как проверка ngettext в -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