Установка intl в OS X 10.6.6: неверная библиотека (возможно, не библиотека PHP) intl.so - PullRequest
4 голосов
/ 15 марта 2011

Я пытаюсь установить расширение PHP intl на мою свежую установку OS X 10.6.6, используя версию PHP, поставляемую с ним (v5.3.3).

Я знаю, что расширение необходимоICU, поэтому я установил его с доморощенным.Моя установленная версия ICU - 4.4.1, и она хранится в /usr/local/Cellar/icu4c/4.4.1.

. Я пробовал два разных способа установить расширение intl:

pecl install

pecl спросилменя для префикса ICU, который является /usr/local/Cellar/icu4c/4.4.1.configure работал без проблем, однако make прервался с:

/ private / var / tmp / apache_mod_php / apache_mod_php-53 ~ 1 / Build / tmp / pear / temp / intl / collator /collator_class.c: 107: ошибка: дубликат «статического» make: * [collator / collator_class.lo] Ошибка 1 ОШИБКА: сбой «make»

сборка напрямую

Я скачал текущую версию PHP (v5.3.5), а затем установил расширение intl из ext/intl, выполнив:

phpize && 
configure --enable-intl --with-icu-dir=/usr/local/Cellar/icu4c/4.4.1 && 
make && 
make test && 
sudo make install

Это, похоже, работает;Я получил расширение в каталоге расширений PHP и не получил никаких сообщений об ошибках.

Файл говорит мне: Mach-O 64-битный пакет x86_64

Однако, когда я загрузил расширениев php.ini я получил сообщение:

Предупреждение PHP: Запуск PHP: недопустимая библиотека (возможно, не библиотека PHP) '/ usr / lib / php / extensions / no-debug-non-zts-20090626 / intl.so 'в строке Неизвестно в строке 0

Понятия не имею, почему это происходит.Я предполагаю, что это потому, что расширение установлено из PHP v5.3.5, и я использую v5.3.3, но я не могу представить, что 2 выпуска исправлений повредят совместимость.

Любые идеи?

ОБНОВЛЕНИЕ 2011-03-16:

Я нашел решение!Когда я явно устанавливаю флаг -m64 в configure (который указывает gcc на создание 64-битного кода), расширение загружается правильно:

CFLAGS=-m64 CPPFLAGS=-m64 CCASFLAGS=-m64 ./configure

1 Ответ

0 голосов
/ 24 декабря 2011

Возможно, немного поздно, но вот пост о том, как добавить intl в OS X Lion, используя системные инструменты:

http://mansion.im/2011/php-with-intl-and-gettext-on-osx-lion/

...