• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

Eclipse上でPDTを使ってFuelPHPのプロジェクトをGit管理したかったので、EGit で github を使えるようにしてみました。

参考にさせていただいたサイトはこちら。
FuelPHPってなんじゃ?(Git管理編)

Eclipse、PDT、FuelPHP は既に使える状態になっているものとします。

まずはEclipseからGitを使えるように、EGit をインストールします。

Eclipse の Helpメニュー -> Install New Software でダイアログを開きます。EGitのダウンロード用URLはデフォルトで登録されているので、--All Available Sites-- の中から Collaboration -> Eclipse EGit を選択してインストールします。

インストールできたら Eclipse の Windowメニュー -> Preference でダイアログを開き、Team -> Git -> Configuration の User Settings タブで、New Entry ボタンをクリックして、user.name, user.email を設定します。

次にFuelPHPを使うプロジェクトを作成します。

   1  $ oil create contact
   2  $ cd contact

ここで気をつけなければいけないことがあります。oil create で作られたプロジェクトは、FuelPHPの github のリポジトリを clone して作られいるためGit管理になっています。その中でいくつかのディレクトリは git の submodule として登録されているのですが、通常はその中の .git はディレクトリになっているはずが、私の環境(Ubuntu12.04)ではファイルになっていて、中身は下記の用にプロジェクトルートの .git ディレクトリ配下のパスがかかれていました。

   1  $ cat fuel/core/.git
   2  gitdir: /home/akanuma/Learning/php/work/contact/.git/modules/fuel/core

CentOS環境で試した時にはディレクトリとして作成されていたので環境によるのだと思いますが、このままだとあとでコミット候補としてインデックスに登録しようとした時に、下記のようなエラーが表示されます。

   1  $ git add .
   2  fatal: Not a git repository: /home/akanuma/Learning/php/work/sample/.git/modules/fuel/packages/parser

また、submodule として登録した時にも下記のようにエラーになります。

   1  $ git submodule add git://github.com/fuel/core.git fuel/core/
   2  The following path is ignored by one of your .gitignore files:
   3  fuel/core
   4  Use -f if you really want to add it.

そこで、下記の用にして .git ファイルの中身がさしているディレクトリを .git ディレクトリとして移動します。

   1  $ rm fuel/core/.git
   2  $ mv .git/modules/fuel/core fuel/core/.git
   3  $ rm fuel/packages/auth/.git
   4  $ mv .git/modules/fuel/packages/auth fuel/packages/auth/.git
   5  $ rm fuel/packages/email/.git
   6  $ mv .git/modules/fuel/packages/email fuel/packages/email/.git
   7  $ rm fuel/packages/oil/.git
   8  $ mv .git/modules/fuel/packages/oil fuel/packages/oil/.git
   9  $ rm fuel/packages/orm/.git
  10  $ mv .git/modules/fuel/packages/orm fuel/packages/orm/.git
  11  $ rm fuel/packages/parser/.git
  12  $ mv .git/modules/fuel/packages/parser fuel/packages/parser/.git
  13  $ rm -rf .git/modules/fuel

次に、FuelPHP の Git 管理下から外すために下記のように Git 関連ディレクトリを削除します。

   1  $ rm -rf .git .gitmodule

ローカルリポジトリを初期化します。

   1  $ git init
   2  Initialized empty Git repository in /home/akanuma/Learning/php/work/contact/.git/

サブモジュールを追加します。

   1  $ git submodule add git://github.com/fuel/core.git fuel/core/
   2  Adding existing repo at 'fuel/core' to the index
   3  $ git submodule add git://github.com/fuel/oil.git fuel/packages/oil
   4  Adding existing repo at 'fuel/packages/oil' to the index
   5  $ git submodule add git://github.com/fuel/parser.git fuel/packages/parser
   6  Adding existing repo at 'fuel/packages/parser' to the index
   7  $ git submodule add git://github.com/fuel/email.git fuel/packages/email
   8  Adding existing repo at 'fuel/packages/email' to the index
   9  $ git submodule add git://github.com/fuel/auth.git fuel/packages/auth
  10  Adding existing repo at 'fuel/packages/auth' to the index
  11  $ git submodule add git://github.com/fuel/orm.git fuel/packages/orm
  12  Adding existing repo at 'fuel/packages/orm' to the index

ドキュメント類を削除します。

   1  $ rm *.md
   2  $ rm -rf docs

アプリケーション全体をコミット候補に加えるためにインデックスに追加します。

   1  $ git add .

ローカルリポジトリにコミットします。

   1  $ git commit -m 'First Commit.'

Eclipse の Fileメニュー -> New -> PHP Project で新規プロジェクト作成ダイアログを開きます。Project名を入力し、Content では Create project at existing location (from existing source) を選択し、oil create で作成したプロジェクトのルートディレクトリを選択し、Finish をクリックしてプロジェクトを作成します。

プロジェクトを右クリックし、Team -> Share Project を選択します。リポジトリタイプは Git を選択し次へ。Use or create repository in parent folder of project にチェックを入れ、先ほど作成したローかリポジトリを選択して Finish をクリックして共有設定をします。

再度プロジェクトを右クリックし、Team -> Commit でコミットダイアログを表示し、コメントを入力してから Commit をクリックしてコミットします。

さらにプロジェクトを右クリックし、Team -> Remote -> Push を選択してダイアログを表示し、Location に github のリポジトリの情報を入力して次へ。Source ref: で master を選択して Add Spec ボタンをクリックし、Finish ボタンをクリックして github への Push を実行します。

以上で FuelPHP のプロジェクトを github 管理下に置くことができます。

posted by Png akanuma on Sat 21 Jul 2012 at 11:54

PHPを勉強中なわけですが、下記のようなスクリプトを書いたところ、mb_strlen という関数が使えませんでした。

   1  <?php
   2  
   3  echo "テキストを入力:";
   4  $a = trim(fgets(STDIN));
   5  echo mb_strlen($a, 'utf-8') . "文字あります。";
   6  
   7  ?>

   1  $ php hello.php
   2  テキストを入力:hello
   3  PHP Fatal error:  Call to undefined function mb_strlen() in /home/akanuma/scripts/php/hello.php on line 5

ググってみるとどうやらマルチバイトの処理ができるようにするには、コンパイル時にパラメータ追加したりとか、php.ini に設定の追加が必要とか色々ありましたが、yum で php-mbstring をインストールすればよさそうということで実行。

   1  # yum install php-mbstring
   2  Loaded plugins: fastestmirror
   3  Loading mirror speeds from cached hostfile
   4   * base: ftp.iij.ad.jp
   5   * epel: ftp.kddilabs.jp
   6   * extras: ftp.iij.ad.jp
   7   * remi: rpms.famillecollet.com
   8   * updates: ftp.iij.ad.jp
   9  Setting up Install Process
  10  Resolving Dependencies
  11  --> Running transaction check
  12  ---> Package php-mbstring.x86_64 0:5.3.14-1.el5.remi set to be updated
  13  --> Finished Dependency Resolution
  14  
  15  Dependencies Resolved
  16  
  17  ========================================================================================================================
  18   Package                       Arch                    Version                              Repository             Size
  19  ========================================================================================================================
  20  Installing:
  21   php-mbstring                  x86_64                  5.3.14-1.el5.remi                    remi                  2.3 M
  22  
  23  Transaction Summary
  24  ========================================================================================================================
  25  Install       1 Package(s)
  26  Upgrade       0 Package(s)
  27  
  28  Total download size: 2.3 M
  29  Is this ok [y/N]: y
  30  Downloading Packages:
  31  php-mbstring-5.3.14-1.el5.remi.x86_64.rpm                                                        | 2.3 MB     00:04
  32  Running rpm_check_debug
  33  Running Transaction Test
  34  Finished Transaction Test
  35  Transaction Test Succeeded
  36  Running Transaction
  37    Installing     : php-mbstring                                                                                     1/1
  38  
  39  Installed:
  40    php-mbstring.x86_64 0:5.3.14-1.el5.remi
  41  
  42  Complete!

これで無事に mb_strlen が使えるようになりました。

   1  $ php hello.php
   2  テキストを入力:はろー
   3  3文字あります。

posted by Png akanuma on Sat 14 Jul 2012 at 18:48

PHPを使うことになったので、CentOS5.8にPHP5.3をインストールしました。yumコマンド一発です。

   1  # cat /etc/redhat-release
   2  CentOS release 5.8 (Final)
   3  #
   4  # rpm -qa | grep php
   5  #
   6  # yum install php
   7  Loaded plugins: fastestmirror
   8  Loading mirror speeds from cached hostfile
   9   * base: ftp.iij.ad.jp
  10   * epel: ftp.tsukuba.wide.ad.jp
  11   * extras: ftp.iij.ad.jp
  12   * remi: rpms.famillecollet.com
  13   * updates: ftp.iij.ad.jp
  14  Setting up Install Process
  15  Resolving Dependencies
  16  --> Running transaction check
  17  ---> Package php.x86_64 0:5.3.14-1.el5.remi set to be updated
  18  --> Processing Dependency: php-common = 5.3.14-1.el5.remi for package: php
  19  --> Processing Dependency: php-cli = 5.3.14-1.el5.remi for package: php
  20  --> Running transaction check
  21  ---> Package php-cli.x86_64 0:5.3.14-1.el5.remi set to be updated
  22  --> Processing Dependency: libedit.so.0()(64bit) for package: php-cli
  23  ---> Package php-common.x86_64 0:5.3.14-1.el5.remi set to be updated
  24  --> Running transaction check
  25  ---> Package libedit.x86_64 0:2.11-2.20080712cvs.el5 set to be updated
  26  --> Finished Dependency Resolution
  27  
  28  Dependencies Resolved
  29  
  30  ========================================================================================================================
  31   Package                    Arch                   Version                                   Repository            Size
  32  ========================================================================================================================
  33  Installing:
  34   php                        x86_64                 5.3.14-1.el5.remi                         remi                 2.8 M
  35  Installing for dependencies:
  36   libedit                    x86_64                 2.11-2.20080712cvs.el5                    epel                  80 k
  37   php-cli                    x86_64                 5.3.14-1.el5.remi                         remi                 2.6 M
  38   php-common                 x86_64                 5.3.14-1.el5.remi                         remi                 1.0 M
  39  
  40  Transaction Summary
  41  ========================================================================================================================
  42  Install       4 Package(s)
  43  Upgrade       0 Package(s)
  44  
  45  Total download size: 6.5 M
  46  Is this ok [y/N]: y
  47  Downloading Packages:
  48  http://ftp.tsukuba.wide.ad.jp/Linux/fedora/epel/5/x86_64/libedit-2.11-2.20080712cvs.el5.x86_64.rpm: [Errno 14] HTTP Error 404: Not Found
  49  Trying other mirror.
  50  (1/4): libedit-2.11-2.20080712cvs.el5.x86_64.rpm                                                 |  80 kB     00:00
  51  (2/4): php-common-5.3.14-1.el5.remi.x86_64.rpm                                                   | 1.0 MB     00:03
  52  (3/4): php-cli-5.3.14-1.el5.remi.x86_64.rpm                                                      | 2.6 MB     00:04
  53  (4/4): php-5.3.14-1.el5.remi.x86_64.rpm                                                          | 2.8 MB     00:04
  54  ------------------------------------------------------------------------------------------------------------------------
  55  Total                                                                                   481 kB/s | 6.5 MB     00:13
  56  Running rpm_check_debug
  57  Running Transaction Test
  58  Finished Transaction Test
  59  Transaction Test Succeeded
  60  Running Transaction
  61  
  62  WARNING : These php-* RPM are not official Fedora/Redhat build and
  63  overrides the official ones. Don't file bugs on Fedora Project nor Redhat.
  64  
  65  Use dedicated forums http://forums.famillecollet.com/
  66  
  67    Installing     : php-common                                                                                       1/4
  68    Installing     : libedit                                                                                          2/4
  69    Installing     : php-cli                                                                                          3/4
  70    Installing     : php                                                                                              4/4
  71  
  72  Installed:
  73    php.x86_64 0:5.3.14-1.el5.remi
  74  
  75  Dependency Installed:
  76    libedit.x86_64 0:2.11-2.20080712cvs.el5   php-cli.x86_64 0:5.3.14-1.el5.remi   php-common.x86_64 0:5.3.14-1.el5.remi
  77  
  78  Complete!
  79  #
  80  # rpm -qa | grep php
  81  php-common-5.3.14-1.el5.remi
  82  php-cli-5.3.14-1.el5.remi
  83  php-5.3.14-1.el5.remi
  84  # php -v
  85  PHP 5.3.14 (cli) (built: Jun 14 2012 21:26:11)
  86  Copyright (c) 1997-2012 The PHP Group
  87  Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

posted by Png akanuma on Wed 11 Jul 2012 at 07:56
Contents
[Git] Eclipse, PDT, FuelPHP, EGit で github を使う
[PHP] yum で php-mbstring をインストール
[PHP] CentOSにPHPインストール
Comments
yoku0825: nkfの方が使いやすいですが、glibcに含まれているiconvの方が 確実にどの環境にも入っ... '12-6
Hiroaki Akanuma: ご指摘ありがとうございます。「嗜好度は大きい値がより嗜好度が強いことを意味すればどのような値で... '11-11
akr: 初めての推薦エンジンのところ 「属性データはどんなものでも可能。」 は preference ... '11-11
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ