スポンサーサイト

0

    一定期間更新がないため広告を表示しています


    • 2014.12.23 Tuesday
    • -
    • -
    • -
    • -
    • -
    • by スポンサードリンク

    icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法

    0
      Symfony2.3 standard editionから、新しいcomponentとしてSymfony¥Component¥Icuが必須になりました。ICUはInternational Components for Unicodeの略で、主に国際化関係のライブラリのようです。
      https://github.com/symfony/Icu

      ところが、このIcuコンポーネント、2013年夏現在で一つ問題があります。
      Symfony¥Component¥IcuはicuというC言語のパッケージ
      http://site.icu-project.org/home
      に依存しており、しかもバージョン4.4以上を要求しています。
      しかし、CentOS6.4の標準的なyumレポジトリでインストールできるicuはバージョンが4.2です。php開発者にとって最新版に素早く対応してくれることで有名なremiレポジトリにもありません。(※2013年夏現在)
      さらに、php-intlはicuに依存しており、yumで入れられるphp-intlは必然的に低いバージョンのicuにリンクされてしまいます。
      これでは、専用サーバー・VPSで、しかもphp-intlだけでもyumを使わずにphpizeしてビルドしないとせっかくのLTS版Symfonyが使えないことになってしまいます。こうなると共有サーバー(もともと、さくらやxrea,coreserverなどのsshがある程度自由に使えるサーバーじゃないと難しいですが)での利用は絶望的に思われます。

      先日、私がSymfony2.3で開発済みのとあるシステムを、用意されたサーバー(icuなどの環境が変更不可な環境)にデプロイしようとした際に、このicuのバージョン問題にひっかかって文字通り立ち往生でした。再枠の場合、Symfonyで作ったシステムをまるっと捨てて、別の依存ライブラリの少ないフレームワークで再構築まで半ば覚悟しました。
      が、その時、@hidenorigotoさんからありがたいアドバイスが!



      もう再構築のために他のフレームワークを選定する直前まで行っていたのですが、急遽composer.jsonでsymfony/symfonyの前にsymfony/icuをv1.0.0にバージョン指定して記述したうえで、再度composer.phar installを試みることにしました。
      (略)
      "symfony/icu" : "1.0.*",
      "symfony/symfony": "2.3.*",
      (略)
      
      結果、無事にicu4.2の環境でSymfony2.3のシステムを動かすことに成功しました!


      使うライブラリのcomposer.jsonはよく読みましょう、という教訓でしたorz


      スポンサーサイト

      0

        • 2014.12.23 Tuesday
        • -
        • 23:34
        • -
        • -
        • -
        • -
        • by スポンサードリンク

        コメント
        symfony/icuの1.0って locale:en 専用のstubのようですが、問題なかったんでしょうか?

        自分もintl関連で調べてたところなのですが、icu 4.2がある環境なら symfony/icu は 1.1 を使えそうです。
        開発環境と本番でicuのバージョンが違うと嵌るよ、ってのも本家のマニュアルに書いてありました。
        http://symfony.com/doc/current/components/intl.html
        • よし
        • 2013/11/15 11:01 AM
        自己レスですが、symfony/validatorでsymfony/intlをuseしてるのがcountry,currency,language,localeだけなので、これらを使わない限り symfony/icu は 1.0 でも構わないのかな?
        • よし
        • 2013/11/15 12:08 PM
        >よしさん
        コメントありがとうございます。
        コメントを拝読して、自分でも「1.1と書き間違えたかな?」と思ったので再度composer.jsonを確認したのですが、間違いなく1.0でした。
        バリデーションのエラーメッセージと、フォームラベルにi18nを使用していますが、アプリケーションは問題なく使えています。言語間の切り替えが無く、基本的に日本語のみのサイトだからでしょうか?謎です…。
        • ななうぇぶ
        • 2013/11/15 6:45 PM
        ご確認ありがとうございました。
        どうやら元々icuがない共有サーバでも、上記のvalidatorさえ使わなければsymfony2.3が使えそうですね。
        • よし
        • 2013/11/15 7:31 PM
        コメントする








           

        PR

        calendar

        S M T W T F S
             12
        3456789
        10111213141516
        17181920212223
        24252627282930
        31      
        << December 2017 >>

        twitter

        selected entries

        categories

        archives

        recent comment

        • 結局CodeIgniter用汎用Modelクラス&汎用CRUDスクリプトを書きました
          プログラマー
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          ななうぇぶ
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • WindowsのPCで開発するphperがxhprofを使う方法
          ななうぇぶ
        • WindowsのPCで開発するphperがxhprofを使う方法
          川本
        • [バッドノウハウ]Symfony2で別テーブルの集計項目を一覧に含めたいとき
          よし
        • Symfony Advent Calendar JP 2012 day 14 - vendorをcomposerで管理しているプロジェクトにcomposerを使わずにバンドルを追加したときのautoloadの書き方
          77web
        • Symfony Advent Calendar JP 2012 day 14 - vendorをcomposerで管理しているプロジェクトにcomposerを使わずにバンドルを追加したときのautoloadの書き方
          ktz

        recent trackback

        • HTMLの表(TABLE)のセル(TD)に斜線を引くjavascriptライブラリ slash.js 作っちゃいました
          常山日記
        • django対symfony 日本語メール送信(その1 symfony編)
          CPA-LABテクニカル
        • CodeIgniterでユーザー認証
          されどLAMPな日々
        • 久々にdjangoを最新版にしたらHTMLがエスケープされちゃった!!(解決済み)
          常山日記
        • FastCGIを諦めてmod_pythonを使う。Apacheのアップグレード
          サーバー用語集
        • さくらインターネット、sqlite3でdjango@CGI版を使う際の設定メモ
          常山日記
        • さくらインターネット スタンダードプランでdjango使ってる方、DBは?
          mitszoの日記
        • python多次元リストをsort(並べ替え)する方法?
          mitszoの日記
        • フォームから送信した値とrequest.POSTの挙動($_POST@PHPとの比較)
          Humming Via Kitchen
        • 日本語テキストをtruncate@django(Python全般にも??)
          常山日記

        recommend

        links

        profile

        search this site.

        others

        mobile

        qrcode

        powered

        無料ブログ作成サービス JUGEM