laravel using composer update on ubuntu 06.04を更新しようとしていますが、実行するたびにcomposer update
この警告は常に表示されます。
PHP Warning: PHP Startup: Unable to load dynamic library 'mcrypt.so' (tried: /usr/lib/php/20170718/mcrypt.so (/usr/lib/php/20170718/mcrypt.so: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/mcrypt.so.so (/usr/lib/php/20170718/mcrypt.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
誰もそれを扱う方法を知っていますか?
私はphp7.2を使用しています
PHPを7.3にアップグレードしたときにこの問題に直面しました
私はmcrypt.soが_/etc/php/7.3
_にまだ存在していることを発見しましたが、php 7.3では非推奨であるため、mcrypt.so fromを削除するだけです_/etc/php/7.3
_解決された問題。
私は次のコマンドを使用しました:
cd /etc/php/7.3
Sudo rm -rf mcrypt.so
SudoサービスApache2の再起動
Ubuntu 18にPhp7.2をインストールすると、同様の問題に直面しました。PECLを使用してmcryptをインストールしたにもかかわらず、質問に記載されているエラーが発生します。
私はそれを修正するために以下を行いました
Sudo apt-get install php-pear php7.2-dev
その後、アンインストールしました
pecl uninstall mcrypt
Mcryptを再インストールします
Sudo apt-get -y install gcc make autoconf libc-dev pkg-config
Sudo apt-get -y install libmcrypt-dev
Sudo pecl install mcrypt-1.0.1
プロンプトが表示されたら
libmcrypt prefix? [autodetect] :
[Enter]を押して自動検出します。
Peclを使用してmcryptを正常にインストールしたら、php.iniにmcrypt.so拡張機能を追加する必要があります。
出力は次のようになります。
...
Build process completed successfully
Installing '/usr/lib/php/20170718/mcrypt.so' ----> this is our path to mcrypt extension lib
install ok: channel://pecl.php.net/mcrypt-1.0.1
configuration option "php_ini" is not set to php.ini location
You should add "extension=mcrypt.so" to php.ini
Apacheを再起動します
Sudo service Apache2 restart
インストールパスを取得し、cliおよびApache2 php.ini構成に追加します。
Sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini"
Sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/Apache2/conf.d/mcrypt.ini"
İtsは私のために働いています。
lC_ALL = "C"をエクスポート
エクスポートLANG = "C
Sudo pecl install mcrypt-1.0.1
また、php 7.2を使用していて、このエラーが発生していて、mcryptが不要/不要であるが、それを除外する方法がわからない場合は、php.iniファイルを編集してコメントアウトする必要があります。その前にセミコロンを使用する:
; extension=mcrypt.so
またはその行を完全に削除します。