Mcrypt с Mamp Pro в Mac OS X Yosemite 10.10

После вчерашнего обновления Yosemite что-то пошло не так с расширением Mcrypt. Основанный на PHP artistan CLI фреймворка Laravel возвращает:

Требуется расширение Mcrypt PHP.

Переменная PATH кажется правильной. Где неправильная конфигурация? До обновления все работало нормально.

++++ Конфиги ++++

Вывод 'which php':

/Applications/MAMP/bin/php/php5.6.1/bin/php

'php -v':

PHP 5.6.1 (cli) (построено: 13 октября 2014 г., 18:41:35) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies

Содержимое .bash_profile:

РЕДАКТОР экспорта = nano экспорт ПУТЬ = / usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / opt / X11 / bin: / usr / texbin: / usr / local / mysql / bin экспорт PATH = / Applications / MAMP / bin / php / php5.6.1 / bin: $ PATH

phpinfo (): введите описание изображения здесь Деталь Mcrypt

Версия MAMP PRO:

3.0.7.1

ОБНОВЛЕНИЕ:

Mamp-log говорит для каждого расширения, включенного в php.ini:

Предупреждение PHP: запуск PHP: невозможно загрузить динамическую библиотеку '/Applications/MAMP/bin/php/php5.6.1/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so' - dlopen (/ Applications /MAMP/bin/php/php5.6.1/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so, 9): изображение не найдено в Unknown в строке 0


person lasagne    schedule 19.10.2014    source источник
comment
Каков результат php -m | grep mcrypt?   -  person l'L'l    schedule 19.10.2014
comment
Это означает, что расширение не включено или, возможно, не установлено. Проверьте свой php.ini на extension=mcrypt.so; если его там нет, добавьте это в раздел динамических скомпилированных расширений.   -  person l'L'l    schedule 19.10.2014
comment
Он включен в /Applications/MAMP/bin/php/php5.6.1/conf/php.ini   -  person lasagne    schedule 19.10.2014
comment
Если extension=mcrypt.so находится в php.ini и по-прежнему не работает, вам следует убедиться, что расширение действительно установлено, то есть файл mcrypt.so. Шахта находится в /lib/php/extensions/no-debug-non-zts-20141012/mcrypt.so   -  person l'L'l    schedule 19.10.2014
comment
Моя тоже там. Также появляется ошибка в журнале MAMP для других расширений. См. Обновленный пост.   -  person lasagne    schedule 19.10.2014
comment
Вы перезапускали Terminal.app? Я знаю, что это очевидно, но ...   -  person l'L'l    schedule 19.10.2014
comment
да. Даже полный перезапуск системы   -  person lasagne    schedule 20.10.2014
comment
Другое предложение, echo $LD_LIBRARY_PATH   -  person l'L'l    schedule 20.10.2014
comment
Пустой вывод. Сейчас я использую предложение Маааарка как временное решение.   -  person lasagne    schedule 20.10.2014
comment
похоже, снова сломан с помощью 3.0.7.3   -  person MB.    schedule 19.12.2014


Ответы (5)


Я связался со службой поддержки MAMP, и они мне ответили.

Hi,

Наш файл php.ini испорчен для версии 5.6.1. Перейдите в файлы вашего шаблона и измените эту строку

/Applications/MAMP/bin/php/php5.6.1 ....

to

/Applications/MAMP/bin/php/php5.6.1/lib/php/extensions/no-debug-non-zts-20131226

Через несколько дней у нас будет полное исправление. Вы также можете просто перейти на php 5.5. в это время.

person Nicolas Widart    schedule 20.10.2014
comment
Работает как шарм. Всем спасибо! (Y) - person lasagne; 20.10.2014
comment
MAMP выпустила новое обновление 3.0.7.2, которое устраняет проблемы. mamp.info/en/downloads - person Nicolas Widart; 21.10.2014

У меня была такая же проблема.

Просто используйте PHP версии 5.5.17 в MAMP, и все снова должно работать нормально.

Не забудьте также переключить версию в вашем .bash_profile:

export PATH=/Applications/MAMP/bin/php/php5.5.17/bin:$PATH
person Maaaark    schedule 19.10.2014
comment
это единственное решение, которое сработало для меня в Йосемити! +1 - person loretoparisi; 18.02.2016

Исправление было применено сегодня утром. MAMP & MAMP PRO 3.0.7.2 Дата публикации: 21.10.2014. По умолчанию php 5.6.2

Не забудьте обновить .bash_profile

экспорт PATH = / Applications / MAMP / bin / php / php5.6.2 / bin: $ PATH

Все отлично работает на моем локальном компьютере, а также отлично работает с drush (для тех, кто его использует)

person C13L0    schedule 21.10.2014

та же ошибка с вами, но я отлично ее исправил:

  • Остановите свой MAMP
  • Откройте /Applications/MAMP/bin/php/php5.6.1/conf/php.ini
  • Найти все "no-debug-non-zts-20121212" заменить на "no-debug-non-zts-20131226"
  • Откройте /Applications/MAMP/bin/php/php5.6.1/conf/pear.conf
  • Найдите «no-debug-non-zts-20100525» и замените на «no-debug-non-zts-20131226».
  • Запустите свой сервер

Я рекомендую вам удалить настройки php и apache в OS X по умолчанию:

/etc/apache2
/usr/include/apahce2
/usr/libexec/apache2
/usr/php
/usr/bin/php
/usr/bin/php-config
/usr/bin/phpize
/usr/include/php
/usr/lib/php
/usr/share/man/man*/php*
/usr/bin/phar.phar

тогда

sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/pear /usr/bin/pear
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/peardev /usr/bin/peardev
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/pecl /usr/bin/pecl
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/phar.phar /usr/bin/phar.phar
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/php /usr/bin/php
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/php-cgi /usr/bin/php-cgi
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/php-config /usr/bin/php-config
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/phpize /usr/bin/phpize
person liasica    schedule 20.10.2014

1) Сначала проверьте, какой файл php.ini загружен:

php --ini

Вы, вероятно, увидите, что ни один из файлов не был загружен.

2) Если вы не против переустановки php, вы можете сделать это:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

3) Затем укажите путь к вашей новой установке php, чтобы избежать использования собственного php, поставляемого с OSX.

Чтобы установить путь, используйте эту команду - что-то вроде этого, имейте в виду, что ваш путь может быть другим:

экспорт ПУТЬ = / usr / local / php5 / bin: $ PATH

person LukeSz    schedule 02.11.2014