yan's Handicraft

作成したフリーソフトを公開
Home » Archive by category 'LL'

EclipsePDTとSymfony1.4でPHP開発環境を作る

6月 5th, 2013 Posted in LL, php Tags: , ,

仕事上Symfony1.4で開発しないといけなくなったので、PHPの環境構築メモ

使用する環境の前提

  • Windows8
  • Symfony1.4
  • Pleiades All in One Eclipse4.2 Juno
    • MergeDoc Project Pleiades – Eclipse
    • Juno の致命的なパフォーマンスバグが SR2で改善されたらしいので今回は、Junoでやってみます
    • OSに応じた Pleiades (Juno) PHP版をダウンロード。 ( 今回ダウンローとしたファイルは pleiades-e4.2-platform_20130303.zip )
  • sympony1.40.20 — symfony.comのダウンロードページ の 下のほうにある「Download previous stable releases:」でバージョン選択してダウンロードできました。(2013-6-5 時点)
    ( 今回ダウンローとしたファイルは symfony-1.4.20.tgz )

インストールとか、環境セットアップとか

PHP と pleiades の準備

  • pleiades-e4.2-platform_20130303.zip を解凍してお好きなディレクトリに配置。( <Programsホーム>と以後呼ぶことにします )
  • <Programsホーム>\xamppC:\xampp にコピー。 (移動でもいいと思います)
    • phpの動作確認 <Programsホーム>/xampp/ にディレクトリ移動した後、php --version を実行して バージョン情報が表示されればうまくいっている。
    • php.ini がルートディレクトリを起点に設定されているので、C:\xampp 以外に置くと色々面倒っぽい
  • php.exe に環境変数PATHをとおるようにする。( 後で、phpコマンドを実行し易くするため )
  • eclipse用のWKスペース用ディレクトリを作成。 ( <wkspace>と以後呼ぶことにします )
  • プロジェクト用のディレクトリを、<wkspace> 以下に作成します。( <プロジェクトHOME>と以後呼ぶことにします )

Symfony の準備

  • Jobeet (Symfony1.4のチュートリアル(日本語訳)) の1日目に 従ってセットアップしていきます
  • <プロジェクトHOME>/lib/vendor にディレクトリを作成し、そこに、symfony-1.4.20.tgz を解凍します。
  • ディレクトリ名を <プロジェクトHOME>/lib/vendor/symfony-1.4.20 から <プロジェクトHOME>/lib/vendor/symfony に変更します
    • symfony の動作確認
      • <プロジェクトHOME> ディレクトリに移動して php lib/vendor/symfony/data/bin/symfony -V コマンドを実行して、symfony のバージョン情報が表示されれば成功
  • 以下のコマンドを実行して、プロジェクトを作成します
    • php lib/vendor/symfony/data/bin/symfony generate:project <プロジェクト名> --orm=Propel
    • <プロジェクトHOME> 以下に、ディレクトリとファイルが作成されます
  • Windows 環境でsymfono コマンドを発行できるように、<プロジェクトHOME> ディレクトリに移動して、以下のコマンドを実行します
    copy lib\vendor\symfony\data\bin\symfony.bat .
  • gitで管理する場合は、管理対象外を指定するために <プロジェクトHOME>/.gitignor を作成し、以下を書いておきます
    logs
    cache
  • <プロジェクトHOME> ディレクトリで以下のコマンドを実行して、アプリケーションを作成します
    • symfony generate:app frontend
    • note: コマンド中の frontend はアプリケーション名。 慣習的には、frontend 、 backend のような名前にする模様ですが、 この名前が必須なわけではないです。

Apache の設定

  • C:\xampp\apache\conf\extra\httpd.conf ( Alias をつける方法で今回解決することにします )
    • やりたいこと
      • <プロジェクトHOME>/lib/vendor/symfony/data/web/sf<プロジェクトHOME>/web が Apache 経由でアクセスできるようにします
    • 以下を C:\xampp\apache\conf\extra\httpd.conf の末尾に追加 (Junoに付属しているApacheは 2.4.3 なので昔の Allow from all みたいな設定とだいぶかわってる )
      ( <プロジェクトHOME> のディレクトリ名をfoo とすると以下のような感じになる)
Alias /foo/sf  <プロジェクトHOME>/lib/vendor/symfony/data/web/sf
<Directory <プロジェクトHOME>/lib/vendor/symfony/data/web/sf>
  AllowOverride All
  Require all granted
</Directory>

Alias /foo  <プロジェクトHOME>/web
<Directory <プロジェクトHOME>/web>
  AllowOverride All
  Require all granted
</Directory>
  • Apacheを起動
    • C:\xampp\xampp-control.exe で xamppの管理画面からApachを起動
  • http://localhost/foo/index.php にアクセスして「Symfony Project Created」画面が表示されれば成功

Symfony 1.4 関係のリンク

Symfony 1.4

チュートリアル

感想

  • 最初に思ったより大変でした。
  • Eclipse PDTプラグイン は、Symfony 1.4 では特にいいところが見当たりません
  • 「MergeDoc Project Pleiades – Eclipse (PHP用)」は色々つまっていて便利

テスト用メールサーバ

11月 19th, 2011 Posted in LL, Python Tags:

仕事で、ダミーのメールサーバ (SMTPサーバ) がほしかったので、ぐぐってみると Python で簡単に作れることがわかった。

  • smtp.py
    #!/usr/bin/python
    
    import asyncore,  smtpd
    smtpd.DebuggingServer(('localhost', 8025), None)
    asyncore.loop()
    

こんなかんじで

python smtp.py &

とすると、8025 ポートで待ち受ける SMTPサーバができあがる。

すごい

DebuggingServer は、Pyton が標準で持っているデバッグ用サーバとのことです。