質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

1377閲覧

PHP7環境でintlモジュールをいれる

ByronHasegawa

総合スコア255

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/10/25 08:38

編集2017/12/07 06:20

###環境
Centos 7
PHP7
Nginx 1.13.4
###やってみたこと
ICUのビルド

# cd /usr/local/src # wget http://download.icu-project.org/files/icu4c/58.1/icu4c-58_1-src.tgz # tar zxvf icu4c-58_1-src.tgz # cd icu/source # ./configure --prefix=$HOME/usr/local # gmake # gmake install

php-7.1.7に同梱されているintlをビルド

# cd /usr/local/src # wget https://github.com/php/php-src/archive/php-7.1.7.zip # unzip php-7.1.7.zip # mv php-src-php-7.1.7/ext/intl ./intl-php-7.1.7 # rm -rf php-src-php-7.1.7 # cd intl-php-7.1.7 # phpize # ./configure --with-icu-dir=$HOME/usr/local --with-php-config=/usr/local/php7/bin/php-config # make

modulesフォルダにできたintl.soを、拡張モジュール指定用のフォルダへコピー

# cp /usr/local/src/intl-php-7.1.7/modules/intl.so /usr/local/php7/extension/

php.iniを編集

; extension=intl.so ↓ extension=intl.so

nginxの再起動

# kusanagi restart

###現状
phpinfo();にintlが表示されません。
しかし、
php7からphp5.6に切り替えるとphpinfo()にintlが表示されます。

###追記
下記を実行しました。

yum --enablerepo=remi-php71 install php-intl

下記のエラーが返ってきました。

Error: Package: php-pecl-apcu-4.0.11-2.el7.remi.5.6.x86_64 (installed) Requires: php(api) = 20131106-64 Removing: php-common-5.6.31-1.el7.remi.x86_64 (@remi-php56) php(api) = 20131106-64 Updated By: php-common-7.1.12-4.el7.remi.x86_64 (remi-php71) php(api) = 20160303-64 Available: php-common-5.4.16-42.el7.x86_64 (base) php(api) = 20100412-64 Available: php-common-5.4.16-43.el7_4.x86_64 (updates) php(api) = 20100412-64 Available: php-common-7.1.12-3.el7.remi.x86_64 (remi-php71) php(api) = 20160303-64 Error: Package: php-pecl-apcu-4.0.11-2.el7.remi.5.6.x86_64 (installed) Requires: php(zend-abi) = 20131226-64 Removing: php-common-5.6.31-1.el7.remi.x86_64 (@remi-php56) php(zend-abi) = 20131226-64 Updated By: php-common-7.1.12-4.el7.remi.x86_64 (remi-php71) php(zend-abi) = 20160303-64 Available: php-common-5.4.16-42.el7.x86_64 (base) php(zend-abi) = 20100525-64 Available: php-common-5.4.16-43.el7_4.x86_64 (updates) php(zend-abi) = 20100525-64 Available: php-common-7.1.12-3.el7.remi.x86_64 (remi-php71) php(zend-abi) = 20160303-64 Error: Package: php-pecl-zip-1.15.1-1.el7.remi.7.1.x86_64 (remi-php71) Requires: libzip.so.5()(64bit) You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest

###正しい情報を提示します。

実際にコマンドを実行した時の画面です。

コマンド実行時の動画

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/10/25 12:55

yum を使わずに、ソースからコンパイルしていることに何かこだわりがあるのですか?
ByronHasegawa

2017/10/26 00:20

yumだとintlがphp5.6バージョンしか入らなかったからです。 yum --enablerepo=remi install php-intl
退会済みユーザー

退会済みユーザー

2017/10/26 03:44

--enablerepo=remi-php71 でインストールできます。
ByronHasegawa

2017/10/27 06:22

インストールできましたが、phpinfo();に表示されません。
退会済みユーザー

退会済みユーザー

2017/10/27 08:33

具体的にやったことを書いてくれないと伝わりません。どんなコマンドを実行し、どのような応答があったとか。
ByronHasegawa

2017/12/06 06:16

遅くなりました。「yum --enablerepo=remi-php71 install php-intl」を実行しました。しかし、いくつかエラーがでました。
退会済みユーザー

退会済みユーザー

2017/12/06 13:52

intlのインストールでapucが出るはずありません。正しい情報を提示してください。
ByronHasegawa

2017/12/07 06:21

すみません、正しい情報を提示しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問