web-dev-qa-db-ja.com

PHP7 Laravel Mcryptの問題

Laravel4にはmcrypt拡張機能が必要であり、PHP7にはmcrypt拡張機能がないようですので、これを機能させるための回避策はありますか?

39
Bishal Paudel

同じ問題がありました-PHP7にはmcryptがありません。

これは私のために働いた。要求されたら、ローカルPHP構成ファイルを保持します。

Sudo apt-get update
Sudo apt-get install mcrypt php7.0-mcrypt
Sudo apt-get upgrade

インストール後にFPM(またはApacheまたはNGINXなど)を再起動します。

83
Ryderpro

私はMacでlaravel valetを使ってこれで解決しました:

php70-mcryptをインストールする

28
carlituxman

Php.iniでmcryptを有効にしても、この問題が発生する場合があります。次の手順を試してください。

Sudo apt-get update
Sudo apt-get install mcrypt php7.0-mcrypt

私はubuntu 16.04で作業しており、次のコマンドも役立ちました。

whereis php  -shows the files with this name
php -v   -shows the php version
which php -shows current php version that is running on the server
13
Hemantha

Ubuntuの場合: launchpad.net によると、mcryptのパッケージはphp7.0-mcryptと呼ばれます。

Sudo apt-get install php7.0-mcryptインストールする

8
Sorin

Ctrl + Alt + Tでターミナルを開き、Ubuntu 16.4でPHP7.0の次のコマンドを実行します

 sudo apt-get install mcrypt php7.0-mcrypt 
 Sudo service Apache2 restart 
4
Behind Methods

php7にはmcryptがあり、php.iniで有効にすると、すべてが正常に機能します。

3
fico7489

このようにします:

  1. wget http://jp2.php.net/distributions/php-7.0.3.tar.gz
  2. tar zxf php-7.0.3.tar.gz
  3. cd php-7.0.3/ext/mcrypt
  4. /php7-path/bin/phpizeconfigure: error: mcrypt.h not found. Please reinstall libmcryptなどのエラーの場合apt-get install libmcrypt-devを実行)
  5. ./configure --with-php-config=/php7-path/bin/php-config
  6. (Sudo) make && make install .thisは、mcrypt.soをphp-7.0.3/ext/mcrypt/modulesにインストールします
  7. cpへの/usr/lib/php/20151012/共有拡張機能ディレクトリとは
  8. /etc/php/mods-available/にmcrypt.iniを作成し、extension=mcrypt.soとして書き込みます
  9. Sudo ln -s /etc/php/mods-available/mcrypt.ini 20-mcrypt.ini/etc/php/7.0/fpm/conf.dなどのリンクを作成します
  10. Sudo ln -s /etc/php/mods-available/mcrypt.ini 20-mcrypt.ini/etc/php/7.0/cli/conf.dなどのリンクを作成します
  11. Sudo service nginx restart
  12. Sudo service php7.0-fpm restart
  13. はい、そうです。
2
devqin

Dotdeb を使用します。これは、Nginx、PHP、MySQL、RedisなどのDebianサーバーに最新のクールなおもちゃを提供する追加のリポジトリです。

  1. sources.listを更新します

    deb http://packages.dotdeb.org {distribution} all 
    deb-src http://packages.dotdeb.org {distribution} all
    
  2. GnuPGキー

    wget https://www.dotdeb.org/dotdeb.gpg
    Sudo apt-key add dotdeb.gpg
    
  3. Aptを更新して、すばらしいものを作成します。

    Sudo apt-get update
    
1
joshuamabina

PHP7には、内部でmcrypt拡張(source-path/ext/mcrypt/)が含まれています。しかし、それはLibmcryptソフトに依存しています。

ステップ1。

http://mcrypt.sourceforge.net/ からlibmcrypt-x.x.tar.gzをダウンロードしてビルドします。

cd libmcrypt-x.x
./configure
make
make install

ステップ2。

ソースからPHP7を再構築し、--with-mcryptオプションを追加します。

./configure ... --with-mcrypt

PHP7を再構築しない他の方法

cd php7-source-path/ext/mcrypt/
/php7-path/bin/phpize
./configure --with-php-config=/php7-path/bin/php-config
make && make install
echo "extension=mcrypt.so" >> /php7-path/ext/php.ini

PHPを再起動

1
eaglewu