#php #macos #cakephp #pecl #intl
#php #macos #cakephp #pecl #intl
Вопрос:
Я скачал macOS Mojave и выполнил чистую установку на свой MacBook Pro середины 2012 года. Установлен XCode с помощью инструментов командной строки. Есть родной Apache и PHP, работающие с PEARL, PECL и последней версией ICU (63.1) для последующего использования расширения Intl.
Но все попытки международной установки потерпели неудачу. Перед чистой установкой я обнаружил intl.so на флеш-накопителе и использовал ICU версии 54, но это не лучший способ заставить вещи работать в среде разработки.
В конце концов, я застрял с PECL, неспособным завершить intall из Intl, потому что не могу найти файл php_smart_str.h.
Я также переустановил заголовочные файлы инструментов разработчика:
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
Возможно ли создать среду разработки без Homebrew?
Когда я запускаю на терминале:
sudo pecl install intl
Возвращает следующее:
/private/tmp/pear/install/intl/intl_error.h:24:10: fatal error: 'ext/standard/php_smart_str.h' file not found
Сразу после создания libtool и запуска: make.
Комментарии:
1. Попробуй сначала побежать
sudo pecl update-channels
. ( src )2. Спасибо @aynber но я тоже пробовал это и не сработало, та же ошибка.
Ответ №1:
Хорошо, вместо использования homebrew я действительно хотел использовать только родной apache и php, предварительно установленные на моем MacBook Pro с Mac OS Mojave, пытаясь поддерживать максимально чистую среду разработки, возможную для использования CakePHP.
Итак, на официальном сайте Pecl ( https://pecl.php.net/package/intl ), ясно, что пакет Intl больше не поддерживается и был заменен. Начиная с PHP 5.3.0, вам не нужно использовать Pecl для установки расширения intl, оно поставляется в комплекте с PHP.
Но он отсутствует при встроенной установке PHP 7.1.24 в Mac OS Mojave.
Затем я скачал PHP 7.1 с php.net, установлены инструменты командной строки XCode, отделение интенсивной терапии (http://site.icu-project.org /), Автоконфискация, переустановил заголовочные файлы инструментов разработчика и, наконец, установил расширение Intl с помощью phpize.
Важно: вам придется отключить SIP.