Требуется расширение Mcrypt PHP для Mac OS X Mojave - PullRequest
0 голосов
/ 03 января 2019

Я просто обновляюсь до Mac OS X Mojave. Мой локальный сайт теперь перестает загружаться.

Я продолжал получать

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

Я пытался

brew update
brew upgrade
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install php54-mcrypt
php --version // To Test your php 

Я получил

Ошибка: php54-mcrypt: невозможно загрузить такой файл - / usr / local / opt / php54-mcrypt / Abstract / abstract-php-extension

Я попытался перезагрузить мой сайт

Я все еще получаю это

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


Мои настройки

php - версия , я получил

PHP 7.1.4 (cli) (built: May  6 2017 10:02:00) ( NTS )                            
Copyright (c) 1997-2017 The PHP Group                                            
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies                    
    with Zend OPcache v7.1.4, Copyright (c) 1999-2017, by Zend Technologies      

который php , я получил

/usr/local/php5/bin/php                                                          

php -i | grep php.ini , я получил

Configuration File (php.ini) Path => /usr/local/php5/lib                        
Loaded Configuration File => /usr/local/php5/lib/php.ini 

printenv , я получил

TERM=xterm-256color
SHELL=/bin/bash
CLICOLOR=1
TMPDIR=/var/folders/54/y_678c6n7q7_pgk1v5lkzwnr0000gp/T/
SSH_CLIENT=10.20.100.88 49732 22
OLDPWD=/Users/bheng
SSH_TTY=/dev/ttys016
USER=bheng
LSCOLORS=ExFxBxDxCxegedabagacad
MAIL=/var/mail/bheng
PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/opt/curl/bin:/Applications/Postgres.app/Contents/Versions/latest/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/sbin:/usr/local/php5/bin:/Users/bheng/.composer/vendor/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/pgsql/bin:/opt/X11/bin:/Applications/Wireshark.app/Contents/MacOS:/usr/local/mysql/bin
PWD=/Users/bheng/Desktop
SHLVL=1
HOME=/Users/bheng
GREP_OPTIONS=--color=always
LOGNAME=bheng

Как можно отладить это дальше?

SSH_CONNECTION=10.20.100.88 49732 10.20.100.88 22
_=/usr/bin/printenv

Когда я открываю php.info, я вижу это

enter image description here

1 Ответ

0 голосов
/ 04 января 2019

Homebrew недавно внес некоторые изменения, касающиеся PHP и его расширений.Прежде чем вам нужно было нажать homebrew/php и установить определенную версию PHP с brew install php71 и модуль с brew install php71-mcrypt.Теперь вам нужно использовать php@7.1 и создавать расширения самостоятельно, используя PECL.

Поскольку у вас так много разных версий PHP, я предлагаю избавиться от них всех.Следующие шаги удаляют все старые версии PHP из вашей системы:

# Will show you any php packages you've got. make not of that!
brew list | grep php

# Will uninstall any php packages you may have
brew list | grep php | while read x; do brew uninstall --force $x; done

# You may need to run this too
rm -rf /usr/local/Cellar/php

# Clean up Launch Agents
rm ~/Library/LaunchAgents/homebrew.mxcl.php*
sudo rm /Library/LaunchDaemons/homebrew.mxcl.php*
brew untap homebrew/php
brew cleanup
brew update
brew doctor # just to make sure you're all clean
ps ax | grep php
# if some PHP daemons are still runing, reboot.

После перезагрузки вы можете установить PHP новым способом:

brew install php // This installs the latest version. If you need PHP7.1 use brew install php@7.1

Проверьте, сработало ли это:

php --version

Следующие важные пути:

  • / usr / local / opt / php / lib / httpd / modules / libphp7.so - ваш модуль apache.
  • / usr / local / bin / php - ваша командная строка PHP.
  • / usr / local / sbin / php-fpm - ваш двоичный файл PHP-FPM.

Чтобы установить расширения,вы должны использовать pecl:

pecl install mcrypt // Install all other extensions this way 

Расширение будет установлено на /usr/local/lib/php/pecl/20170718/.

Если вы используете Apache, вам нужно загрузить модуль Apache.Отредактируйте /usr/local/etc/httpd/httpd.conf и найдите раздел, в который загружены все модули.Добавьте эту строку в конце раздела:

LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so

Перезапустите сервер Apache и проверьте, используется ли правильная версия PHP.

...