PHP
Mac
PhpStorm
FuelPHP

MAC+PhpStormでFuelのプロジェクトをDebugする

目的

 古いPHP5のプロジェクトを調べたるため(擬似S3にアクセス出来ない)色々環境作りに時間を食ったので、メモしておく。

 環境

  • Mac OS High Seirra 10.13.2
  • Preinstalled Php 7.1
  • Preinstalled Apache2.4

 複数PHPのインストール

プロジェクトに必要なのは、PHP5に対して、MacにあるのはPhp7.1。なので、複数のPHPをインストールすることに決めた。

  • 大変参考になりましたインストール手順

複数Phpのインストール  
Xdebugのインストール

下記は手順と違った点、感じた点のメモ。

  1. xcode-select --install はやはり必要、抜けたらその後の作業にエラーがでる。
  2. Apacheはサービス化させてくないので、sudo brew services start httpdは実行しなかった
  3. User&Group はイマイチ詳しくないので、一旦Chmod a+w にした
  4. sphp も入れて切り替えてうまくいったが、なぜか php -v を実施したらディフォルトのPHP 7.1.7 (cli) が表示される。which php で調べてもパスに問題ないし、SymboleLinkのリンク先もちゃんとしたし、いまだに原因が理解出来ていない。
  5. Mysql ではなくPostgresqlに接続するので、念のため、Phpをインストール時、--with-postgresqlも指定した
  6. Mysqlはインストールしなかった。
  7. Apache Virtual Hostsは使わなかった。
  8. Dnsmasqも使わなかった。
  9. APC Cacheなども使わなかった。(第一動かせることなので、セキュリティ、性能などは後回し)
  10. Navive Yamlもインストールしなかった。
  11. Xdebugの設定ファイルに xdebug.idekey="PHPSTORM" との一行を追加、PhpStormと接続するため。

 PhpStormでのDebug

  1. まず「プロジェクト手順](https://www.jetbrains.com/help/phpstorm/create-new-project-specify-remote-server.html)にしたがってプロジェクトを作成する。LocalServer、LocalSource。
  2. ローカルPhp-interpreterの設定
  3. ディバッグサーバーの設定
  4. 若干古いが一応フローを理解するためにこれも読んでおいた方が
  5. 面倒臭いがCookieを設定するため、ブラウザプラグインを導入
  6. PhpStormのDebug Toolbarの電話まくを緑にしておく。
  7. RunMenuのBreak at firstline in PHP scripts をチエック
  8. RunConfigurationでPhp Remote Debugを追加、Serverは先ほど追加したもので、IdeKeyはPHPSTORM

 残課題

どうやらソースのマッピングがプロジェクト構造かのどこかに問題があるかと思う。PHPStormを使って、ContextMenuでメソッドのDeclartionが見つからないだもの。