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

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

ただいまの
回答率

90.52%

  • PHP

    20288questions

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

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

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,201

ByronHasegawa

score 246

環境

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.soextension=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

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

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

コマンド実行時の動画

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • ByronHasegawa

    2017/12/06 15:16

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

    キャンセル

  • Kosuke_Shibuya

    2017/12/06 22:52

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

    キャンセル

  • ByronHasegawa

    2017/12/07 15:21

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

    キャンセル

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

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

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 受付中

    Zend_Db_SelectでのAND句とOR句を併用したWhere句の書式について

    Zend Framework(1.11)を勉強し始めたのですが、Zend_Db_SELECTオブジェクトの取り扱いにおいて WHERE (colX = $x) AND ((c

  • 解決済

    ZendFrameworkのsetOptionsに文字列での選択肢を追加したい

    前提・実現したいこと 実現したいことは、よくあるselectタグのoptionに文字列での選択肢を追加したいと考えています。 選択肢としましては、MrとMisの二つから選択でき

  • 受付中

    zend DB接続について

    Zendフレームワーク1.8をつかっているのですが、 mysqlにつなぐ際に--local-infile=1というオプションをつけたいのですが、 configなどにそれを記載す

  • 解決済

    self::と$this->の使い分け

    外部のパートナー企業から納めて頂いたコードで、疑問があります。 前提 PHP5 ZendFramework1 普段はCakePHPを使っている :-)

  • 解決済

    さくらのレンタルサーバにcakephp3をインストールしたい

    さくらのレンタルサーバ スタンダードで,さくらのレンタルサーバにCakePHP3を導入を参考にしてcakephp3をインストールしようと思っています. しかし,「10.CakeP

  • 解決済

    PHP @$thisと__callメソッドの理解に関して

    すみません。。PHPでコードの読み方をご教示頂きたく存じます。 下記の様なコードがあるのですが、__callメソッドの実態が分からず理解出来ておりません。$methodにsoap

  • 受付中

    zendframework2でエラー

    お力をお貸し頂ければ幸いです。 前任者がgit管理していたプロジェクトを引き継ぎまして、 エラーエラーでデバッグ環境が出来ておりません。 ググりつつ作業しているのですが、

  • 解決済

    php 継承関係について

    お世話になっております。 PHPの継承の関係について質問させてください。 ある理由がありまして、継承先から継承元にメソッドを渡したいのですがどうしたら良いでしょうか。 元のファ

同じタグがついた質問を見る

  • PHP

    20288questions

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