2016-08-18 9 views
2

にXAMPPのPHP 7.0国際化の拡張(国際)をインストールし、私はここで説明した手順に従っ:は、Mac

Install PHP Internationalization extension (Intl) on XAMPP on Mac

にpecl国際空港をインストール はこの後、セラー

から正しいファイルを選択したsudoを蘭エラーが発生しました:

/private/tmp/pear/temp/intl/intl_error.h:24:10: fatal error: 'ext/standard/php_smart_str.h' file not found

include

^1 error generated. make: *** [php_intl.lo] Error 1 ERROR: `make' failed 

問題を調査したところ、PHP 7.0.8 dだから、C++、私はsmart_str.hするsmart_string.hコピーした文字列に文字列からすべてのヘッダと改名.....

の私の乏しい知識与え

をphp.smart_string.hするeprecated php.smart_str.h re-ran pecl -no luck ....多くのエラー...... .cファイルがどこにあるのかわからなくても、とにかく私はXAMPPを使っているのでオプション。

私は深いUSR/local/binのフォルダ にので、次のステップは、それらのファイルを使用してintl.soファイルを生成するためにPECLを得ることだった、私のMac上でのPHP 5.5を持っている....

は、ということでした....私はintl.soファイルを持っているので、XAMPPの 'extensions'フォルダに置いてください(参考:/ Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20151012)

は、PHPを実行してこのエラーを思い付いた:

Warning: PHP Startup: Unable to load dynamic library '/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20151012/intl.so' - dlopen(/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20151012/intl.so, 9): Symbol not found: _zval_used_for_init Referenced from: /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20151012/intl.so Expected in: flat namespace in /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20151012/intl.so in Unknown on line 0

私はそれが異なると関係していると想像しますバージョン?

いずれにしても、PHP 7.0.8では、XAMPP上でmakeエラーなしでintをインストールするためのpeclを取得できません。これに関するドキュメンテーションはありません。ヘッダファイルを廃止すると、すべての拡張機能が更新されると思いますか? PHPのためのPHP にバンドルされており、(--enabled国際空港)PHPを使用してコンパイルする必要がありますintl.so

はその延長だ、私はこれまでのところ

答えて

1

PHP 7にintl.soインストール助けてください。 XAMPPはこれをサポートしていません(2016年10月現在)。他のディストリビューションについてはわかりません。しかし、PHP 7を再コンパイルしたい場合は、コンパイル時にそれを有効にして有効にするだけの価値があります。

だから私はMAMPと一緒に走った。それから、私は、スタックと、MAMPやXAMPPに付属している迷惑メールなしに、apache 2.4とphp 7とMysqlをインストールすることにしました。すべてがCakePHPやintlなどのサポートを必要とする場合は...単にXAMPP/MAMPを落とし、標準インストールを行ってください。私はhomebrew(MacOS)を使い、すべてうまくいっています。

アップデート:Windowsに関しては、XAMPPではデフォルトではありませんが、php.iniにモジュール(dll)を追加することができ、魅力的に動作します