久しぶりにphpを使わなければいけなくなりました。といっても少しですけど。
普段はjava, objective-c, swift, ruby使いなのですが、phpでCI環境を整えることになったので色々と学習&メモ。
ちなみにぼくが最後にphpで開発したのはverson4の最後の時です。php好きじゃないんだけど、まあ、仕方ないっすねー(棒)。rubyは素晴らしい言語だけど、使える人が本当に少ないのが弱点。結局両方用意しないといけなくなってしまう。(愚痴なので気にしないでくださいw)
せっかくなのでrubyの視点からみたphpの感想もちょこちょこ記載していきたいと思います(怒らないでねw)
環境
- mac Yosemite
- vagrant1.6.5
開発はvagrantのcentos6.5で行います。macに入っているphpはext-mcryptとかいうライブラリがなくてシンボリックリンクはったり面倒なんで。
php5.5のinstall
まずはchefを使わないで普通にinstallして基礎から学習します。php久しぶりなんで。
(chefを使った管理は多分あとで書きます。どうせやる必要あるんで)
// yumを最新にupdate sudo yum -y update // epelのリポジトリを追加 sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm // remiのリポジトリを追加 sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm // php install sudo yum install --enablerepo=remi --enablerepo=remi-php55 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php -v PHP 5.5.19 (cli) (built: Nov 13 2014 07:52:05)
install完了。次。
Composerをinstall
Composer
パッケージ管理ツールです。rubyでいうbundler、javaでいうgradle, movenのようなものです。
install
まずはchefを使わないで普通にinstall。勉強勉強。
curl -sS https://getcomposer.org/installer | php #!/usr/bin/env php All settings correct for using Composer Downloading... Composer successfully installed to: /Users/{username}/Documents/study/php/test/composer.phar Use it: php composer.phar
OK、次。php composer.phar install
php composer.phar install Composer could not find a composer.json file in /Users/{username}/Documents/study/php/test To initialize a project, please create a composer.json file as described in the http://getcomposer.org/ "Getting Started" section
composer.jsonというファイルが必要らしい。アプリのフレームワークにはrailsをインスパイアしたフレームワークcakephpを使います。
{ "name": "example-app", "repositories": [ { "type": "pear", "url": "http://pear.cakephp.org" } ], "require": { "cakephp/cakephp": ">=2.4.9" }, "config": { "vendor-dir": "Vendor/" } }
cakeのサイトの説明をそのまま使います。もう一度実行。
php composer.phar install Loading composer repositories with package information Initializing PEAR repository http://pear.cakephp.org Installing dependencies (including require-dev) - Installing cakephp/cakephp (2.5.6) Downloading: 100% Writing lock file Generating autoload files
Vendor以下に色々ある。まだよくわからないけど次。
プロジェクト作成
bakeコマンドでプロジェクトを作成。railsコマンドと同じかな。なんでcakeじゃないんだろうか。
Vendor/bin/cake bake project test // something
warningでてるけどProject baked successfully!だからOKなのかな?無視して次。
testフォルダを発見。中に色々フォルダがある。うまくいったっぽい。でも、設定を変える必要があるらしい。
CAKE_CORE_INCLUDE_PATH を相対パスに変更
define( 'CAKE_CORE_INCLUDE_PATH', ROOT . '/Vendor/cakephp/cakephp/lib' );
準備完了。DBはmysqlを使います。
Mysql5.6をinstall
rpm -qa | grep mysql mysql-libs-5.1.73-3.el6_5.x86_64 php-mysqlnd-5.5.19-1.el6.remi.x86_64 // delete mysql5.1 sudo yum remove mysql-libs-5.1.73-3.el6_5.x86_64 // add rpm yum install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm // install mysql yum install mysql mysql-devel mysql-server mysql-utilities mysql --version mysql Ver 14.14 Distrib 5.6.21, for Linux (x86_64) using EditLine wrapper
OK。長すぎるので分割して続きます。
参考サイト
0 件のコメント:
コメントを投稿