MAC Call to undefined function Think\imagettftext()
2241 ワード
今日Thinkphpフレームワークでプロジェクトをする時、thinkPHPフレームワークの検証コードを使って、検証コードはずっと出られなくて、エラー表示:
Call to undefined function Think\imagettftext()
1.新しいphpバージョンをダウンロードして、大量のphp拡張を持っています.gdはfreetypeをインストールしていないので、phpinfo()にアクセスして、このモジュールがないことを発見することができます.
そして、最終的な解決策は、1つのコマンドで解決されます.
公式サイトのアドレス:https://php-osx.liip.ch/
車に戻ると、次の警告が表示される可能性があります.
Detected OS X El Capitan 10.11. As this is quite new, there may be issues still. Your mileage may vary.
この警告にかかわらず、ダウンロードのインストールが完了するまで待つ(ダウンロード時には特に遅い場合があり、長い間反応しなければコマンドラインを再実行することができます).
2.PHPコマンドの経路を配置する时、私はネット上でみんなが直接コマンドを実行すればいいと言っているのを見て、私はダウンロードが完了した后に、このエラーを報告するか、エラーを報告するかを発見して、その上拡張もプラスしていません.
コマンドラインに次のように入力します.
まだ前のバージョンです.インストールが完了したら、端末でPHP-vコマンドを実行すると、macが持参した古いバージョンが表示されます.そのため、パスを構成する必要があります.コマンドラインに次のコマンドを入力します.
最後に、コマンドを実行します.
3.ApacheでのPHPのロードを変更する
さらに興味深いことに、ページでphpinfo()を表示すると、phpinfoのphpのバージョン番号は私の前のphpのphpバージョンでも、私の今のphpバージョンでもないことに気づき、コマンドラインで以下を探しました.
この場合、apache 2プロファイルでPHPの拡張パスを変更する必要があります.
カスタムPHPインストールパスを指定してください.
ロードパスの例(マイMacで構成されているパス):
このように切り替えた後、再びページでphpinfo()にアクセスするとfreetypeがすでに存在していることに気づき、検証コードページを見ていると、検証コードが表示されました.
Call to undefined function Think\imagettftext()
1.新しいphpバージョンをダウンロードして、大量のphp拡張を持っています.gdはfreetypeをインストールしていないので、phpinfo()にアクセスして、このモジュールがないことを発見することができます.
そして、最終的な解決策は、1つのコマンドで解決されます.
curl -s https://php-osx.liip.ch/install.sh | bash -s 7.1
注:最後の7.1は私の現在のphpのバージョン番号です.まず自分のphpのバージョン番号を調べることができます.公式サイトのアドレス:https://php-osx.liip.ch/
車に戻ると、次の警告が表示される可能性があります.
Detected OS X El Capitan 10.11. As this is quite new, there may be issues still. Your mileage may vary.
この警告にかかわらず、ダウンロードのインストールが完了するまで待つ(ダウンロード時には特に遅い場合があり、長い間反応しなければコマンドラインを再実行することができます).
2.PHPコマンドの経路を配置する时、私はネット上でみんなが直接コマンドを実行すればいいと言っているのを見て、私はダウンロードが完了した后に、このエラーを報告するか、エラーを報告するかを発見して、その上拡張もプラスしていません.
コマンドラインに次のように入力します.
php -v
まだ前のバージョンです.インストールが完了したら、端末でPHP-vコマンドを実行すると、macが持参した古いバージョンが表示されます.そのため、パスを構成する必要があります.コマンドラインに次のコマンドを入力します.
sudo vim ~/.bash_profile
その後、ファイルの最後に:export PATH=/usr/local/php5-7.1.13-20180201-134129/bin:$PATH;
注意:ここではPHP 7をインストールしています.1のパスを設定するには、/usr/localにインストールしたPHPのパスを表示する必要があります.最後に、コマンドを実行します.
source ~/.bash_profile
の構成が完了し、php-vを試してみると、最新のPHPバージョンが表示されます.3.ApacheでのPHPのロードを変更する
さらに興味深いことに、ページでphpinfo()を表示すると、phpinfoのphpのバージョン番号は私の前のphpのphpバージョンでも、私の今のphpバージョンでもないことに気づき、コマンドラインで以下を探しました.
php:sudo find / -name 'php'
MACに複数のphpバージョンがインストールされていることに気づきました(ps:以前はパソコンは他の人が使っていましたが、簡単に構成しただけで使いました)この場合、apache 2プロファイルでPHPの拡張パスを変更する必要があります.
vi /etc/apache2/httpd.conf
Macが持参するapacheプロファイルにはPHP 5がロードされている.5のバージョンで、自分でインストールしたバージョンをロードする必要がある場合は、カスタムPHPインストールパスを指定してください.
ロードパスの例(マイMacで構成されているパス):
LoadModule php5_module LoadModule php7_module /usr/local/php5-7.1.13-20180201-134129/libphp7.so # libphp5.so , php
以降apacheを再起動します.sudo apachectl restart
コマンドラインでは、コマンドを使用できます.php -i
は、現在のphpバージョンがそのディレクトリにロードされているphpプロファイルなどを表示するためにphpinfoの情報を表示します.このように切り替えた後、再びページでphpinfo()にアクセスするとfreetypeがすでに存在していることに気づき、検証コードページを見ていると、検証コードが表示されました.