N00bの潜在的な質問をおApびします。OSXMountain LionマシンにPHPのmcrypt拡張機能をインストールしようとしています。
ターミナルでの次のステップは、これまでにPHP install
cd /path/to/downloaded/php-5.3.21/ext/mcrypt/
/usr/bin/phpize
./configure
cd /path/to/downloaded/php-5.3.21
./configure --with-config-file-path=/private/etc/php.ini --with-apxs2=/usr/sbin/apxs
make
Sudo make install
これはうまく機能しているようで、PHP 5.3.21で問題ありません。
Sudo nano /private/etc/php.ini
そして含まれています
extension=mcrypt.so
Apacheの再起動に加えて、phpinfo()はmcrypt拡張がロードされたことを示しません。
それからphp.ini内でextension_dirを指定しようとしましたが、再び運がありません。
やった
locate mcrypt.so
/opt/local/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
/usr/local/Cellar/php53-mcrypt/5.3.18/mcrypt.so
両方のディレクトリをextension_dirとして試してみましたが、うまくいきませんでした。
私も多くのグーグルの後、以下を試しました
./configure --with-config-file-path=/private/etc/php.ini --with-apxs2=/usr/sbin/apxs --with-mcrypt
これはうまくいくように見えますが、「メイク」すると、戻ります
ext/mcrypt/mcrypt.o: No such file or directory
ext/mcrypt/mcrypt_filter.o: No such file or directory
繰り返しますが、成功しません。
私は何を間違えていますか? mcrypt.soの物理的なコンパイルは行われていないようですが、locateの下に別のmcrypt.soが見つかると思われるので、間違ってコンパイルしていますか?
誰でも助けてください? Google検索のページを1つずつ調べてみましたが、運がありません!
私はMacでHomebrewを使う傾向があります。すべてのものをインストールして構成します。
http://mxcl.github.com/homebrew/
そうすれば、brew install mcrypt php53-mcrypt
でインストールでき、Just Work(tm)になります。
53
は、php56-mcrypt
やphp70-mcrypt
など、使用しているPHP)のバージョンに置き換えることができます。不明な場合は、 brew search php
。
また、内蔵Macを使用している場合は、PHPが/usr/bin
にインストールされているので、端末でwhich php
で使用しているphpを確認できます。 llはパスを返します。
私はこれをマウンテンライオンで行ったところです。 Homebrewはlibiconvをブロックしました。libiconvは行方不明だと思っていましたが、実際には最新でした。 libiconvを認識させるために1時間試行した後、私はそれをあきらめて古い方法でインストールしました。
(download your php version)
$ wget http://www.php.net/get/php-5.3.21.tar.gz/from/a/mirror
$ tar -xvzf php-5.3.21.tar.gz
$ cd php-5.3.21/ext/mcrypt
$ phpize
$ ./configure
$ make
$ make test
$ Sudo make install
mcrypt.soはPHP ext dir(/usr/lib/php/extensions/no-debug-non-zts-20090626/
私の場合)、今、あなたはモジュールとしてphp.iniに追加する必要があります
$ vi /etc/php.ini
$ (insert) extension=mcrypt.so
$ Sudo apachectl restart
完了-醸造は必要ありません。 HTH誰か。
mcrypt
またはport
を使用せずにphp -brew
をインストールする注:これらの指示は徹底的であるため、長いです。このプロセスは実際にはかなり簡単です。あなたが楽観主義者であれば、mcrypt extensionの構築セクションまでスキップできますが、私が言ったエラーをよく見るでしょう。最初に
autoconf
およびlibmcrypt
をインストールします。
OSX 10.9の新規インストールでこれを行ったところです。私のために働いた解決策は、veryに近いckm-私は彼らのステップを含めています完全を期すために、私自身も完全に。私の主な目標(「mcrypt
」を持つ以外)は、システム全体への影響が最も少ない方法でインストールを実行することでした。それは物事を手動で行うことを意味します(port
、brew
なし)
手動で物事を行うには、最初にPHPモジュールをビルドするための依存関係、およびmcrypt
のための別の依存関係が必要です。これらはautoconf
とlibmcrypt
、どちらかを既に持っているかもしれませんが、どちらもOSX 10.9の新規インストールでは持っていません。
Autoconf(より良い説明がないため)を使用して、まったく異なるが、まだ非常に異なるシステムに物事をコンパイルする方法を伝えます。たとえば、ファイルシステムの階層が異なるなど、OSXで使用するのと同じ基本コマンドセットを使用してLinuxでモジュールを構築できます。私は StackOverflowでAresが説明した方法 =、完全を期すためにここで複製します。これは非常に簡単です。
$ mkdir -p ~/mcrypt/dependencies/autoconf
$ cd ~/mcrypt/dependencies/autoconf
$ curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-latest.tar.gz
$ tar xzf autoconf-latest.tar.gz
$ cd autoconf-*/
$ ./configure --prefix=/usr/local
$ make
$ Sudo make install
次に、次を実行してインストールを確認します。
$ which autoconf
/usr/local/bin/autoconf
を返すはずです
次に、libmcrypt
拡張モジュールの内部を提供するために使用されるmcrypt
が必要になります(拡張モジュール自体はPHPこのライブラリへのインターフェイスの提供です)。私が使用した方法は、説明されているものに基づいていました here ですが、できる限り単純化することを試みました:
最初に、 SourceForge から入手可能なlibmcrypt
ソースをダウンロードします。これは、このドキュメントの執筆時点で、具体的には次の場所から入手できます。
http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.bz2/download
実際のダウンロードリンクを取得するには、標準のSourceForgeフープをジャンプする必要がありますが、それを取得したら、次のようなものに渡すことができます。
$ mkdir -p ~/mcrypt/dependencies/libmcrypt
$ cd ~/mcrypt/dependencies/libmcrypt
$ curl -L -o libmcrypt.tar.bz2 '<SourceForge direct link URL>'
$ tar xjf libmcrypt.tar.bz2
$ cd libmcrypt-*/
$ ./configure
$ make
$ Sudo make install
これが機能していることを確認する唯一の方法は、mcrypt
拡張自体の./configure
ステップを使用することです(以下)
これが私たちの実際の目標です。うまくいけば、依存関係の地獄への短いスティントはこれで終わりです。
まず、mcrypt
拡張機能のソースコードを取得する必要があります。これは、すべてのPHPのソースコード内に埋もれた状態で最も簡単に入手できます。だから:PHPソースコードのどのバージョンが必要かを決定する。
$ php --version # to get your PHP version
運が良ければ、現在のバージョンがメインミラーからダウンロードできるようになります。その場合、次のように入力できます。
$ mkdir -p ~/mcrypt/php
$ cd ~/mcrypt/php
$ curl -L -o php-5.4.17.tar.bz2 http://www.php.net/get/php-5.4.17.tar.bz2/from/a/mirror
残念ながら、現在のバージョン(この場合は5.4.17)が利用できなかったため、 http://downloads.php.net/stas/ (また、代替/履歴リンクを使用する必要がありました公式PHPダウンロードサイト)。これらの場合、次のようなものを使用できます。
$ mkdir -p ~/mcrypt/php
$ cd ~/mcrypt/php
$ curl -LO http://downloads.php.net/stas/php-5.4.17.tar.bz2
繰り返しますが、現在のバージョンに基づきます。
(および上記のすべての依存関係)を入手したら、実際にモジュールを構築/インストールするメインプロセスに到達できます。
$ cd ~/mcrypt/php
$ tar xjf php-*.tar.bz2
$ cd php-*/ext/mcrypt
$ phpize
$ ./configure # this is the step which fails without the above dependencies
$ make
$ make test
$ Sudo make install
理論的には、mcrypt.so
は現在、PHP拡張ディレクトリにあります。次に、PHPについて通知する必要があります。
php.ini
ファイルにmcrypt
をロードするように指示する必要があります。 OSX 10.9のデフォルトでは、実際にはmcrypt
固有の構成情報がありますが、実際にmcrypt
を有効にしないのは、指示がない限りです。
php.ini
ファイルは、デフォルトでは存在しません。代わりに、ファイル/private/etc/php.ini.default
はデフォルトの構成をリストし、「true」php.ini
がまだ存在しない場合に作成するための適切なテンプレートとして使用できます。
php.ini
が既に存在するかどうかを確認するには、次を実行します。
$ ls /private/etc/php.ini
結果がある場合、その結果はすでに存在するため、次のコマンドをスキップする必要があります。
php.ini
ファイルを作成するには、次を実行します。
$ Sudo cp /private/etc/php.ini.default /private/etc/php.ini
次に、次の行を追加する必要があります。
extension=mcrypt.so
ファイルのどこかに。ファイルで;extension=
を検索し、最初に出現する直前に追加することをお勧めします。
これが完了すると、インストールと設定が完了します。次のコマンドを実行して、これが機能したことを確認できます。
php -m | grep mcrypt
これは「mcrypt
」を出力し、それ以外は何も出力しません。
PHPがApacheのhttpd
に依存している場合、Webの変更に気付く前に再起動する必要があります。
$ Sudo apachectl restart
これで完了です。
mcrypt.so
のようなファイルの1つがextension="mcrypt.so"
構文を使用してインクルードされているが、ファイルがextension_dir
パスにない場合(<?php phpinfo(); ?>
またはphp -i
を使用する場合)それを確認します)。
また、どのphp.ini
構成ファイルがロードされているかがわかりますので、設定がどこから来ているかがわかります。自作バージョンを使用している場合、ほとんどの場合、/usr/local/etc/php/5.4/php.ini
のようなものになります。
「追加の.iniファイルがないか、このディレクトリをスキャンしてください」などと言っている部分に注意してください。つまり、メイン構成の後にロードされるtweaks.ini
など、独自のファイルを置く場所を提供しますファイルを作成して、変更を加えて簡単に更新できるようにします。また、このディレクトリ内のすべてのファイルがアルファベット順にロードされることを忘れないでください。したがって、mcrypt
ディレクティブを含むadjustments.ini
というファイルがあり、mcrypt.ini
がある場合、ほとんどの場合は設定オーバーライドされます。
extension="mcrypt.so"
を指定する代わりに、mcrypt.so
ファイルへのフルパスを指定することもできます。他のオプションは、extension_dir
設定を編集することです。
マーベリックスでは、どちらもする必要はありませんでした。 homebrew
の新規インストールを行った後、次を使用してjosegonzalezタップを追加しました。
brew tap josegonzalez/homebrew-php
(私の別のラップトップはMountain Lionを実行しており、このセットアップでもhomebrewを使用していました。)
その素晴らしいリポジトリをタップした後、php
とmcrypt
を使用してインストールできます何かのようなもの:
brew install php54 php54-mcrypt
ソースからダウンロードしてビルドする前に、このルートを試すことを強くお勧めします。ソースからビルドするのは難しくありませんが、それを維持する必要はありません。そもそもhomebrew
を使用する理由の1つです。これは(巨大なコミュニティを持つ)パッケージマネージャーです。
homebrew
プロジェクトには多くの開発があります-もし問題があれば、 issues page をチェックすることをお勧めします
ですから、はい、ソースからビルドすることができます。mcryptを動作させたいだけで、後でこれを行うのが嫌な場合は、今は良いオプションのように思えるかもしれません...
php54
を使用したくない場合は、php53
ブランチもあります。リポジトリには、両方の使用方法と切り替え方法に関する指示があります。
Homebrewを初めて使用する場合は、brew search php54
を使用して他に利用できるものをチェックアウトすることを知っておく必要があります。
php54 php54-lzf php54-snappy
php54-amqp php54-mailparse php54-solr
php54-apc php54-mcrypt php54-ssh2
php54-apcu php54-memcache php54-stats
php54-boxwood php54-memcached php54-svm
php54-chdb php54-midgard2 php54-tidy
php54-couchbase php54-mongo php54-timezonedb
php54-dbase php54-msgpack php54-tokyotyrant
php54-ev php54-mysqlnd_ms php54-twig
php54-gearman php54-oauth php54-uploadprogress
php54-geoip php54-opcache php54-uuid
php54-gmagick php54-parsekit php54-varnish
php54-graphdat php54-pcntl php54-wbxml
php54-http php54-pdflib php54-xcache
php54-igbinary php54-phalcon php54-xdebug
php54-imagick php54-proctitle php54-xhgui
php54-inclued php54-pspell php54-xhp
php54-intl php54-pthreads php54-xhprof
php54-ioncubeloader php54-raphf php54-xmldiff
php54-jsmin php54-redis php54-yac
php54-judy php54-riak php54-yaf
php54-leveldb php54-runkit php54-yaml
php54-libevent php54-scrypt php54-yaz
php54-libvirt
homebrew
を使用してmcrypt
をインストールする必要があります。extension_dir
パスを確認し、mcrypt.so
ファイルの場所を見つけて、不一致があるかどうかを確認します(または完全なパスを指定します)。私にとって、ヨセミテで
$ brew install mcrypt php56-mcrypt
コンピューターを再起動
トリックをしました。
Brewを使用したソリューションは、次の後にのみ機能しました:php.iniで
nano /private/etc/php.ini
次の行を追加します。
extension="/usr/local/Cellar/php53-mcrypt/5.3.26/mcrypt.so"
警告!正しいPHPバージョンを設定します。
オプションがある場合は、homebrewを使用してすべてをインストールすることをお勧めします。私はしばらくサークルに行きましたが、php 5.xをbrew経由でインストールしてから、必要なモジュールがうまく機能しました。私はphp 5.4で作業していましたが、これを使用して最初に作業を開始しました。
https://github.com/josegonzalez/homebrew-php
そして、追加モジュールをインストールします:
brew install php54-redis
brew install php54-xdebug
brew install php54-mcrypt
...
OS Xを可能な限りクリーンに保ちたい人のもう1つの可能性は、vagrant [1]を使用してphp開発環境を定義することです。 VagrantはVirtualBox [2]をヘッドレスモード(13インチMid 2009 MacBook ProのCPUの約3%)で使用して、ウェブサーバーとphpなどで仮想マシンを実行できます。
Vagrant環境を簡単に作成するには、この素晴らしいツールを使用できます https://puphpet.com/
自作なしでPHP 5.3のmcryptモジュールをインストールするシェルスクリプトを作成します。
スクリプトは必要に応じてphp autoconfをインストールし、phpバージョンのモジュールをコンパイルします。
リンクはこちら: https://Gist.github.com/lucasgameiro/8730619
ありがとう
何も機能せず、最終的にリソース@ Here と Here を使用して機能するようになりました。 OSX Mavericks(10.9)では、PHP 5.4.17またはStable PHP 5.4.22ソースを使用してmcryptをコンパイルする必要があります。 Phpソース5.4 .22ここ
ブリューベースソリューションは私のために働いた
これらのパッケージをインストールする
$ brew install brew install mcrypt php54-mcrypt
デフォルトのphp.ini.defaultをphp.iniにコピーします
$ Sudo cp /private/etc/php.ini.default /private/etc/php.ini
この行をphp.iniファイル拡張子セクションに追加します-マシンのインストール場所で拡張子パスを確認してください
extension = "/ usr/local/Cellar/php54-mcrypt/5.3.26/mcrypt.so"
Apacheサーバーを再起動します
$ Apacheの再起動
これは私がやったことです:
$ wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download
$ tar xzvf libmcrypt-2.5.8.tar.gz
$ ./configure
$ make
$ Sudo make install
$ brew install autoconf
$ wget file:///Users/rmatikolai/Downloads/php-5.4.24.tar.bz2
$ tar xjvf php-5.4.24.tar.bz2
$ cd php-5.4.24/ext/mcrypt
$ phpize
$ ./configure # this is the step which fails without the above dependencies
$ make
$ make test
$ Sudo make install
$ Sudo cp /private/etc/php.ini.default /private/etc/php.ini
$ Sudo vi /private/etc/php.ini
次に、次の行を追加する必要があります。
extension=mcrypt.so
$ Sudo apachectl restart
mycrypt.oおよびmcrypt_filter.oは、phpダウンロードしたディレクトリのext/.libsにあります。ファイルをext/mcryptにコピーしてから、make && make installを再度実行してください。
Brewの最近の変更(homebrew/phpの廃止)により、mcryptでphpを次のようにインストールします。
brew install [email protected] -with-mcrypt=mcrypt
PHPの以前のインストールをアンインストールする必要がある場合があります
brew install mcrypt php
を実行した後、pecl経由でphp-mcryptをインストールする必要がありました。
pecl install mcrypt-1.0.1
執筆時点では、mcryptには安定したpeclリリースがありません。1.0.1はphp 7.2および7.3の現在のリリースであり、brew install php
はphp 7.2をインストールします。