web-dev-qa-db-ja.com

OSX 10.8.2へのmcryptのインストール-PHP 5.3.15 with homebrew

mcryptを介してhomebrewを正常にインストールしましたが、mcrypt.soへのパスを見つけてphp.iniの拡張機能として含めるのに苦労しています。

mcryptは/usr/local/Cellar/mcrypt/2.5.8にインストールされました。木:

-- AUTHORS
|-- ChangeLog
|-- INSTALL_RECEIPT.json
|-- NEWS
|-- README
|-- TODO
|-- bin
|   `-- libmcrypt-config
|-- include
|   |-- mcrypt.h
|   `-- mutils
|       `-- mcrypt.h
|-- lib
|   |-- libmcrypt.4.4.8.dylib
|   |-- libmcrypt.4.dylib -> libmcrypt.4.4.8.dylib
|   `-- libmcrypt.dylib -> libmcrypt.4.4.8.dylib
`-- share
    |-- aclocal
    |   `-- libmcrypt.m4
    `-- man
        `-- man3
            `-- mcrypt.3

mcrypt.hphp.iniを含めようとしました:

extension="/usr/local/Cellar/mcrypt/2.5.8/include/mcrypt.h"

そしてApacheを再起動しました。しかし、それはうまくいきませんでした。

端末でphpを実行すると、次のようになります。

PHP Warning:  PHP Startup: Unable to load dynamic library
'/usr/local/Cellar/mcrypt/2.5.8/include/mcrypt.h' - dlopen(/usr/local/Cellar/mcrypt/2.5.8/include/mcrypt.h, 9): 
image not found in Unknown on line 0
17
Matanya

まず、brewが最新かどうかを確認します。
brew doctor

次に、phpバージョンに基づいてmcryptをインストールします。
brew install php53-mcrypt

NB:brewの最近のバージョンでは、以下のステップ3は必要ありません:

3番目にphp.iniファイルを開き、参照を追加します。
Sudo vi /private/etc/php.ini
extension="/usr/local/Cellar/php53-mcrypt/5.3.25/mcrypt.so"

最後に、Apacheを再起動します。
Sudo apachectl restart

48
pinxi

さまざまなアドバイスを通じて何時間も疑問に思った後、 これ がうまくいきました(MacPorts経由でインストール):

Chris Brewerの厚意により:

http://macports.org.からMacPortsをダウンロードしてインストールします

ターミナルでは次の手順が実行されます。

MacPortsを強制的に更新します(AppleのXcodeがインストールされている場合にのみ機能します):

Sudo port -v selfupdate

次に、memcachedをインストールします。

Sudo port install php5-mcrypt

Mcrypt用に新しく作成した共有オブジェクトをMac OS XのデフォルトのPHP5拡張ディレクトリにコピーします。

Sudo cp /opt/local/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so /usr/lib/php/extensions/no-debug-non-zts-20090626/

次に、php.iniを編集して拡張機能を追加する必要があります。 Dynamic Extensionsというフレーズを見つけて、次を追加します。

extension=mcrypt.so

最後に、Apacheを再起動します。

Sudo apachectl restart

22
Matanya

これで問題を解決しました

brew install php54-mcrypt --without-homebrew-php

次に、この行を/etc/php.iniに追加します。

extension="/usr/local/Cellar/php54-mcrypt/5.4.24/mcrypt.so"

このファイルが存在しない場合は、/etc/php.ini.defaultからコピーする必要があります。また、phpのバージョンをphp -vで確認します(そして、それは5.4.xでした)。

9
mariowise

これであなたがした仕事に感謝します!これでうまくいきました。私はMacを使っていて、xcodeを探していました。開発者の場所が設定されていなかったため、これをすべて実行する必要がありました。

(開発者パスを解決する) 「エラー:/ Developerに開発者ディレクトリが見つかりません」を解決するにはどうすればよいですか?

  1. Sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

(Xcodeを使用するための契約に署名)

  1. Sudo xcodebuild -license

最後に上記の手順に従ってください!

0
SteckDEV

this でケーキのように動作しました。

$ brew install mcrypt
Warning: mcrypt-2.6.8 already installed
$ brew install php55-mcrypt
Warning: php55-mcrypt-5.5.20 already installed

次に、それをテストします。

$ php -m | grep mcrypt
mcrypt

$ php -i | grep mcrypt
Additional .ini files parsed => /usr/local/etc/php/5.5/conf.d/ext-mcrypt.ini,
Registered Stream Filters => zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, mcrypt.*, mdecrypt.*
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value
0
Harish Prasanna

これは役に立つかもしれません...

  1. brewタップhomebrew/homebrew-php
  2. brew install php56-mcrypt
0
Oomta