箱庭ハーブblog

7年目プログラマの趣味の小部屋

CakePHPとVisualStudio

2017/09/09

いや、今どきこんな構築あり得ないので、書き直しておきます。

1. VirtualBoxインストール
2. Vagrantインストール
3. Vagrantを利用してCentOSのVMを構築
 こんな感じにVagrantFileを書いておくと、色々便利


  # Parent directory name for Vagrantfile
  config.vm.hostname = File.basename(File.dirname(__FILE__))
  
  ...
  
  config.vm.network "public_network"
  
  ...
  
  # Disable global Vagrantfile setting
  config.vm.synced_folder ".", "/vagrant", disabled: true
  
  config.vm.synced_folder "./vagrant_shared", "/home/vagrant/vagrant_shared", create:true, type:"virtualbox"
  config.vm.synced_folder "./var_www_html",   "/var/www/html",                create:true, type:"virtualbox"
  
  ...
  
  config.vm.provider "virtualbox" do |vb|
    # Display the VirtualBox GUI when booting the machine
    vb.gui = true
    
    # Customize the amount of memory on the VM:
    vb.memory = "1024"
    
    # parent directory name
    vb.name = config.vm.hostname
  end
  
  ...
  
※ Selinuxを無効にするシェルインライン文もVagrantFileに書かれてるのですが、このブログだと上手く貼り付けられないので断念

4. Apache2.4をCentOSに入れる。80番、443番が開いてなければ開ける

5. PHP7.0/7.1どちらかおよび付属物をCentOSに入れる
yum -y install --enablerepo=remi-php70 php php-devel php-mbstring php-pdo php-gd php-intl php-xml php-mysql php-pecl-xdebug

6. MariaDB10をCentOsに入れる。utf8mb4に変更推奨。
※ 4バイトになるのでvarchar255がMigrationでは不可能になる不具合あり

7. git, unzipをCentOS入れる

8. 公式サイトの通り、ComposerをCentOSに入れる

9. 公式サイトの通り、cakephp/appをComposer経由で落としてくる この際、VMの共有ディレクトリを/var/www/htmlにしておくのがミソ

10. 適当にVisual Studio Code(VisualStudio2017ではない)をインストール

11. PHPDebug拡張を追加する

12. CentOS側のphp.iniとVisual Studio Code側のlaunch.jsonを上手く設定して

XdebugがCentOS(VM)⇔Windows(ホスト)間で接続できるようにする

適当にVagrant+Chefで自動構築できるようにしておくと、非常に便利
ChefはCentOSとAmazonLinuxで動けば十分なので、package文を使ってOK
リポジトリはremiかius当たりが無難


とりあえず、一通りまとまったので環境構築法を


CakePHPとVS VisualStudio2010でCakePHP
WebMatrix単体で開発してもいいけど、VisualStudioのほうがエディタやソース管理が直感的
1、VisualStudioにあらかじめ以下をインストール
・VisualStudio2010 SP1
・Windows Azure SDK
・Windows Azure Tools for Microsoft Visual Studio (2011年3月)
・Azure SDK for .NET
・ツール > 拡張機能マネージャ > 検索にて、下記をインストール
 ・Nuget Package Manager
 ・PHPツール for Visualstudio
 ・Web Essentials 2012
2、Web App ギャラリーにアクセスし、Web Platform Installer経由で、CakePHP用のインストーラを入手
 (CakePHP.exeというWebインストーラが手に入る)
3、CakePHP.exeを実行し、開発環境とWebサイトの雛形がインストール・展開される
 ・WebMatrix や その他環境 がインストールされ、適切にパスなどが設定済みになる(※1)
  →Microsoft Web Matrix は Program Files(x86)下
  →MySQL は "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld" など(※2)
  →PHP.exe は "C:\Program Files (x86)\IIS Express\PHP\v5.3" など(※2)
 ・My Document\My Web SiteにCakePHP用に構成されたWebサイトが保存される
4、作成されたWebサイトフォルダを、好きなところに移動し、<ソリューションフォルダ>\<Webサイトフォルダ>とする
5、TFSなどを使う場合は、あらかじめソリューションに対応するチームプロジェクトを作成しておく
6、VisualStudioからWebサイトを開き、すべて保存でslnファイルを<ソリューションフォルダ>直下に保存する
  (My Document\Visual Studio20XX\ProjectsやWebSites下にからのフォルダができてしまうので、削除してよい)
7、チームプロジェクト(ソース管理)にバインド
8、CakePHPの場合、app/tmp下のファイルはソース管理してしまうとキャッシュが作れなくなる
  tmp下のファイルをすべて削除し、ソース管理とのバインドをなくす
 
CakePHP VisualStudio2010でCakePHP 開発方法
ソース編集とソース管理はVisual Studio上で行う
テスト実行、DBの編集、AzureへのデプロイはWeb Matrixから行う
 
(※1)典型的な開発環境セットだと
・XAMPP(クロスプラットフォームなApache、MySQL、PHP、Perlのセット。phpMyAdiminつき)
・VertrigoServ(Wamp環境。Windows上でのApache、MySQL、PHPのセット。phpMyAdiminつき)
・WebMatrix(IISmp環境。WPIでインストールされることが多い。MySQL GUIが組み込まれている)
XAMPPやVartrigoServはApacheだが、Web MatrixはIISが既定
また、AzureとのFTP・SQL連携が強く、ワンクリックでWebサイトとDBデータごとデプロイが可能になっている
どうしてもAMP(Apache、MySQL、PHP)でステージ環境を構築したい場合は、Linux仮想マシンでやるべし
WebMatrix自体は、必要なもの全ての最大公約数セットといったところ
・テキストエディタ・プロジェクト管理(フォルダ単位管理)
・DB GUIツール
・デプロイツール(FTPクライアント)
・バージョン管理(Gitなど)との連携可能
・プラグインやオンラインテンプレートの検索とインストール機能
とは言え、WebMatrix自体をインストールした場合は、これらを自前で紐づけしないといけない場合もある
面倒なので、以下の手順で行うと効率的
1、WPIで環境セットをインストール
2、VisualStudioでエディットとソース管理
3、Web MatrixでDB操作とAzureへのデプロイ。Linuxにアップロードする場合はWinSCPでも使用する
  DBアップロードは、一度SQLに吐いて、デプロイ先で実行か
 
(※2)
PHP、MySQLどちらも複数バージョンの開発環境に対応するフォルダ階層になった。便利
コメント
PAGETOPへ
新しい記事
FF14 設定例

コメント送信

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード

パスワードを入れておかないと、コメントの再編集ができません!

フリーエリア

takemori
Twitter : @takemori_kondo

1. Unityと戯れてます
2. Cake3は劣化じゃないRails

iOS
coming soon...

Windows
Html Editor - Nazuna
Managed DirectX サンプル集

beginning since
2006.08.17
renewaled on
2011.06.03

最新コメント

[2013/06/14 ミューネ]
[2012/08/30 ノートPC]