2016-03-24 37 views
2

PHPのimagickラッパーをインストールしようとしています。私はOSX、PHPのバンドル版を使用しており、MacPortsを使ってImage Magickをインストールしています。 Imagickラッパーをインストールしようとすると、私はphpizeと./configureの手順を完了しましたが、コンパイルは失敗します。ターミナルでPHP用imagickをOSXにインストールするEl capitan:インクルードされたpcre.hファイルの問題

、私は、この致命的なエラーが表示されるまで、コマンドを「作る」、すべてが幸せに進み、実行した後:

In file included from /usr/local/imagick-3.4.1/imagick.c:37: 
In file included from /usr/include/php/ext/spl/spl_iterators.h:27: 
/usr/include/php/ext/pcre/php_pcre.h:29:10: fatal error: 'pcre.h' file not found 
#include "pcre.h"** 

を私がインストールされたpcre.hファイルへのシンボリックリンクを作成しようとしましたMacPortsを使用していますが、私が試してみると、El Capは "操作が許可されていません"というエラーは表示されません。これはEl Capの新しい制限付きスーパーユーザーprivsに関連しています。

# tried both: 
sudo ln -s /opt/local/include/pcre.h /usr/include/php/ext/pcre 
sudo ln -s /opt/local/include/pcre.h /usr/include/ 

誰もが、私は、ファイル「/opt/local/include/pcre.h」を見つけるために「/usr/include/php/ext/pcre/php_pcre.h」を得ることができる方法を提案することはできますか?

私はMacPorts経由でPHPをインストールできることを知っていますが、これは "もっとも簡単な"解決策に終わるかもしれませんが、MacPortsでPHPをインストールする前にバンドル版のPHPを使い続けることをお勧めします。

私はちょうど同様の質問hereを見つけたので、事前に謝罪します。私は私の質問が少し違っていると思うし、コメントをして質問をするスタック交換については、あまりにも多くの意見がある(と私は確かに答えを投稿する立場にいない:))

ここに私のシーケンスですシェルコマンドの:

cd /usr/local/ 
sudo curl -O https://pecl.php.net/get/imagick-3.4.1.tgz 
sudo tar zxf imagick-3.4.1.tgz 
cd imagick-3.4.1 
sudo phpize 
sudo ./configure --with-imagick=/opt/local 
sudo make // fail with include error 

答えて

2

実際の問題は、Mac SIP(​​システムインテグリティ保護)です。 SIPが有効になっていると、/ usrには何も書き込めません(/ usr/localを除く)。これを無効にしてsymlinkを実行し、phpizeを使ってImagickラッパーをインストールしてみてください。インストール後にSIPを再度有効にしてください。起動音が聞こえた後のMacを再起動すると同時に、コマンド+ Rキーを押したままSIP

1)を無効にするには

、これはリカバリモードにOS Xを起動します。

2)「OS Xユーティリティ」画面が表示されたら

3)は、端末に次のコマンドを入力し、代わりに画面の上部にある[ユーティリティ]メニューをプルダウンし、「ターミナル」を選択してくださいヒットリターン:

csrutil disable; reboot

関連する問題