Mac下PHP環境構成処理セット
2978 ワード
Mac自動ApacheとPHPでApacheを起動した後、起動して構成したアドレスに以下のエラーが発生しました.
mcryptソフトウェアを実行できるようにPHP拡張モジュールをインストールphp.ini構成.
まずwhich phpは本機のPHPのインストールの経路を見ます
php-v PHPバージョンの表示
ダウンロードにはパッケージが必要です
1、phpをダウンロードする(対応バージョンPHP 5.6.30のPHPソースファイルをダウンロードする)http://php.net/releases/
2、libmcryptをダウンロードする(mcryptをインストールするにはこのパッケージが必要)http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
3、mhashをダウンロードする(mcryptをインストールするにはこのパッケージが必要)https://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/
4、mcryptのダウンロードhttps://sourceforge.net/projects/mcrypt/files/Libmcrypt/
(macではmakeでエラーが発生することがあります:rfc 2440.c:26:20:error:malloc.h:No such file or directory、rfc 2440.c:#includeを#includeに変更し、make/make installを再インストールすればいい)
ソフトウェアのインストール
1.Libmcryptをインストールする
2.mhashのインストール
3.mcryptのインストール
4.PHPを用いる必要な暗号化ライブラリをコンパイルしてmcyptを生成する.soファイルはPHPソースファイル(システムのphpのバージョン番号と一致するに違いない)を解凍します.Mac OS X 10.12にプリインストールされているPHPバージョンは5.6.30なので、このバージョンをダウンロードする必要があります.
端末で次のコマンドを実行します.
次にコンパイルしたsoファイルを対応するパスにコピーします
上記のコマンドを実行すると、10.12にエラーが発生します.
解决方法:参考アドレスは简単に言えばEl CapitanがRootlessメカニズムに参加し、好きなように多くのパスを読むことができなくなった.root権限を設定してもだめです.
ここまで振り回すと、PHP暗号化を配置してphpを開くことができる.ini
USr/etc/php.iniは、次のコードを追加して保存して終了し、Apacheを再起動します(php.ini.defaultがコピーされていない場合は、書き込み権限を変更する場合があります:chmod 777 php.ini)
これで終わりです.
Fatal error: Call to undefined function Util\mcrypt_decrypt() in Util/Mcrypt.class.php on line 61
mcryptソフトウェアを実行できるようにPHP拡張モジュールをインストールphp.ini構成.
まずwhich phpは本機のPHPのインストールの経路を見ます
/usr/bin/php
php-v PHPバージョンの表示
PHP 5.6.30 (cli) (built: Feb 7 2017 16:18:37)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
ダウンロードにはパッケージが必要です
1、phpをダウンロードする(対応バージョンPHP 5.6.30のPHPソースファイルをダウンロードする)http://php.net/releases/
2、libmcryptをダウンロードする(mcryptをインストールするにはこのパッケージが必要)http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
3、mhashをダウンロードする(mcryptをインストールするにはこのパッケージが必要)https://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/
4、mcryptのダウンロードhttps://sourceforge.net/projects/mcrypt/files/Libmcrypt/
(macではmakeでエラーが発生することがあります:rfc 2440.c:26:20:error:malloc.h:No such file or directory、rfc 2440.c:#includeを#includeに変更し、make/make installを再インストールすればいい)
ソフトウェアのインストール
1.Libmcryptをインストールする
#tar -zxvf libmcrypt-2.5.8.tar.gz
#cd libmcrypt-2.5.8
#./configure
#make
#make install
:libmcript /usr/local
2.mhashのインストール
#tar -zxvf mhash-0.9.9.9.tar.gz
#cd mhash-0.9.9.9
#./configure
#make
#make install ( : , sudo make install)
3.mcryptのインストール
#tar -zxvf mcrypt-2.6.8.tar.gz
#cd mcrypt-2.6.8
#LD_LIBRARY_PATH=/usr/local/lib/ ./configure -with-libmcrypt-prefix=/usr/local
#make
#make install
:(mac make :rfc2440.c:26:20:
error: malloc.h: No such file or directory,
rfc2440.c:#include #include ,
make/make install )
4.PHPを用いる必要な暗号化ライブラリをコンパイルしてmcyptを生成する.soファイルはPHPソースファイル(システムのphpのバージョン番号と一致するに違いない)を解凍します.Mac OS X 10.12にプリインストールされているPHPバージョンは5.6.30なので、このバージョンをダウンロードする必要があります.
端末で次のコマンドを実行します.
#tar zxvf php-5.3.4.tar.gz
#cd php-5.3.4/ext/mcrypt
#phpize( ./configure autoconf.tar.gz
autoconf ./configure
make && make install
autoconf php ./configure php )
#./configure
#make
次にコンパイルしたsoファイルを対応するパスにコピーします
sudo cp modules/mcrypt.so /usr/lib/php/extensions/no-debug-non-zts-20130626/
(no-debug-non-zts-20130626 , )
上記のコマンドを実行すると、10.12にエラーが発生します.
Operation not permitted
解决方法:参考アドレスは简単に言えばEl CapitanがRootlessメカニズムに参加し、好きなように多くのパスを読むことができなくなった.root権限を設定してもだめです.
ここまで振り回すと、PHP暗号化を配置してphpを開くことができる.ini
sudo vi /etc/php.ini
USr/etc/php.iniは、次のコードを追加して保存して終了し、Apacheを再起動します(php.ini.defaultがコピーされていない場合は、書き込み権限を変更する場合があります:chmod 777 php.ini)
extension=/usr/lib/php/extensions/no-debug-non-zts-20130626/mcrypt.so
これで終わりです.