top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_935

symfony?:インストール試行錯誤。ところが、XREAでうまく行かず。えぇい、さくらに鞍替えだ・・・ 【symfonyで、企業サイトを創る】

 2009-05-24
symfony
先回、一度インストールには成功した(・・・はず)。
 >・symfony:symfony初体験。さてフレームワーク。今度はこれを利用してあるサイトを実際に構築する・・・ 【symfonyで、企業サイトを創る】

ところが、最初の初期画面がうまく出てこない。
真っ白なのだ。?
 > はまった数時間。
 > こんなことしている場合ではないのだ。
 > そうだ! さくらに鞍替えだ。
 > おぉ、PEARから入れるはめ、かぁ。


七転八倒・・・


  追記に ▼(長編 です。ご容赦)


FC2ブログランキング にほんブログ村 IT技術ブログ Webサイト構築へ ブログ王ランキング 人気ブログランキング 人気ホームページランキングへ


more

************************************************
◎ symfonyで、企業サイトを創る:2回目
************************************************


 CakePHPに慣れているせいか、
 簡単にコピーの繰り返しで問題ないだろうと
 たかをくくっていたが、結構、はまった。
 (結果は、単純なことだったが・・・)

 ■画面真っ白
  ・現在、phpエラー画面表示をオフにしていた


  > □今回の作業ディレクトリ以下において
     エラー表示をオンにするために
     .htaccess を加える。


php_flag display_errors on

  ・エラーが表示された。


<b>Fatal error</b>:  Uncaught exception 'sfCacheException' with message 'Failed to make cache directory &quot;/(プロジェクトディレクトリ)/cache/home/prod/config&quot; while generating cache for configuration file &quot;config/config_handlers.yml&quot;.' in /(プロジェクトディレクトリ)/vendor/pear/php/symfony/config/sfConfigCache.class.php:337
Stack trace:
#0 /(プロジェクトディレクトリ)/vendor/pear/php/symfony/config/sfConfigCache.class.php(107): sfConfigCache-&gt;writeCacheFile('config/config_h...', '...', '&lt;?php?// auto-g...')
#1 /(プロジェクトディレクトリ)/vendor/pear/php/symfony/config/sfConfigCache.class.php(194): sfConfigCache-&gt;callHandler('config/config_h...', Array, '...')
#2 /(プロジェクトディレクトリ)/vendor/pear/php/symfony/config/sfConfigCache.class.php(276): sfConfigCache-&gt;checkConfig('config/config_h...')
#3 /(プロジェクトディレクトリ)/vendor/pear/php/symfony/config/sfConfigCache.class.php(54): sfConfigCache-&gt;loadConfigHandlers()
#4 in <b>/(プロジェクトディレクトリ)/vendor/pear/php/symfony/config/sfConfigCache.class.php</b> on line <b>337</b>

  ※つまり、キャッシュ用のファイル書き込み
   のところで、例外・ストップ、というわけだ。

  ・この部分のソースを確認しておこう。


## /(プロジェクトディレクトリ)/vendor/pear/php/symfony/config/sfConfigCache.class.php
$current_umask = umask(0000);
if (!is_dir(dirname($cache)))
{
if (false === @mkdir(dirname($cache), 0777, true))
{
throw new sfCacheException(sprintf('Failed to make cache directory "%s" while generating cache for configuration file "%s".', dirname($cache), $config));
}
}
$tmpFile = tempnam(dirname($cache), basename($cache));
if (!$fp = @fopen($tmpFile, 'wb'))
{
throw new sfCacheException(sprintf('Failed to write cache file "%s" generated from configuration file "%s".', $tmpFile, $config));
}

  ※mkdir は、3つ目の引数が、true に
   なっているので、
  「存在しないディレクトリは全て作成」される
   ようになっている。

  >確認したが、確実に777になっていた。


 そ、そうか!
 また、(利用している)XREAの「セーフモード」
 問題だな。(うっかり、忘れていた)


  ・XREA で、「セーフモード」ではないように
   PHPを動かすために、.htaccess に追加記述


AddHandler application/x-httpd-phpcgi .php

   ※これで一度、最初の画面が表示された後、
    この記述ははずしておかなければ
    正しく動かない。

 ■(やっと)スタート画面だ。
  symfony:(やっと)スタート画面
  ※ただし、これは、プロジェクトディレクトリに
   スラッシュアクセスした場合で、
   今回作成した、アプリケーション home で
   アクセスすると、


  ・わぁお、凄い警告。


Warning: session_start() [function.session-start]: open(/tmp/*****, O_RDWR) failed: Permission denied (13) in /*****/vendor/pear/php/symfony/storage/sfSessionStorage.class.php on line 93

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /*****/vendor/pear/php/symfony/storage/sfSessionStorage.class.php:93) in /*****/vendor/pear/php/symfony/storage/sfSessionStorage.class.php on line 93
Empty module and/or action after parsing the URL "/*****/home_dev.php" (/).
Warning: Cannot modify header information - headers already sent by (output started at /*****/vendor/pear/php/symfony/storage/sfSessionStorage.class.php:93) in /*****/vendor/pear/php/symfony/exception/sfException.class.php on line 76

Warning: Cannot modify header information - headers already sent by (output started at /*****/vendor/pear/php/symfony/storage/sfSessionStorage.class.php:93) in /*****/vendor/pear/php/symfony/exception/sfException.class.php on line 129

  ※これは、また、「セーフモード」の問題
   なんだろうな。
   もう一度、.htaccess に設定を入れて実行。

 ・・・とかなんとかやってて
 この後も、
 いろいろうまく行かず・・・


 ★今回に関しては
  「symfony を入れること」が目的ではなく
  これは、手段。
  「symfony を使いこなす」こと、急務!!!


  さっさと、XREAに見切りを付け、
  ・さくらインターネット のサーバー
   を利用する。


************************************************
◎ 新しく「さくら」のサーバー借りてセットアップ
************************************************


 ※はは、表題変わったぞ。

  ここから先もいろいろ転んで起きたのだが、
  今回は、最終的にうまくいったことのみ 記録。
  次に同じことをする場合、
  ・この通りにやればうまく行く
   ことだけを 簡潔記録。


 いや、ほんと。
 環境によるインストールの「ややこしさ」よ。


 ◆さくら
  ・PEARSymfony をインストール
   うまくゆかせる 最短記録


 ■PEAR インストール


  1:go-pear.php の取得(右クリック>保存)
    http://pear.php.net/go-pear
    ※http://go-pear.org で案内されているところは
     乗っ取られているのか?アフィリサイトだ。
  2:home/(アカウント)/www 以下の
    ブラウザからアクセスできるところに
    ・go-pear.php アップロード。
  3:http://(アカウント).sakura.ne.jp/go-pear.php 実行
  4:Next >> クリック
    ・PEAR_Frontend_Gtk2、MDB2 共にチェック
    ・1. Installation prefix ($prefix)
      ・/home/(アカウント)/(フォルダ) とする
       ※(フォルダ)は、ブラウザアクセス不可場所
    ・11. php.exe path, optional (CLI command tools)
      ・/usr/local/bin/php とする
    ・Optional: は未使用
    ・[Install] クリック
  5:Installation Compreted ! と表示されOK。
    ・Note: に表示されるパス
    ・/home/(アカウント)/(フォルダ)/PEAR
     これを記録
  6:SSHアクセス
    ・シェルのパス変更
     /home/(アカウント)/.cshrc
     FTPダウンロード
     ・エディタで、パス部分に追記
set path = (/home/(アカウント)/(フォルダ) /home/(アカウント)/(フォルダ)/bin /sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)

     ※(アカウント),(フォルダ) の()は不要。
     ・アップロードし
     ・SSH にてコマンド
      %source .cshrc # リフレッシュされる
    ・pear のconfig編集
     ・まず確認
      %pear config-show
Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels auto_discover <not set>
Default Channel default_channel pear.php.net
HTTP Proxy Server Address http_proxy <not set>
PEAR server [DEPRECATED] master_server pear.php.net
Default Channel Mirror preferred_mirror pear.php.net
Remote Configuration File remote_config <not set>
PEAR executables directory bin_dir /usr/local/php/5.2.8/bin
PEAR documentation directory doc_dir /usr/local/php/5.2.8/lib/php/doc
PHP extension directory ext_dir /usr/local/php/5.2.8/lib/php/extensions/no-debug-non-zts-20060613
PEAR directory php_dir /usr/local/php/5.2.8/lib/php
PEAR Installer cache directory cache_dir /var/tmp/pear/cache
PEAR configuration file cfg_dir /usr/local/php/5.2.8/lib/php/cfg
 ・・・(略)

     ・必要な部分を編集
pear config-set bin_dir /home/(アカウント)/(フォルダ)/bin
pear config-set doc_dir /home/(アカウント)/(フォルダ)/PEAR/docs
pear config-set ext_dir /home/(アカウント)/(フォルダ)/PEAR/extensions
pear config-set php_dir /home/(アカウント)/(フォルダ)/PEAR
pear config-set cache_dir /home/(アカウント)/(フォルダ)/PEAR/cache
pear config-set data_dir /home/(アカウント)/(フォルダ)/PEAR/data
pear config-set php_bin /home/(アカウント)/www/cgi-bin
pear config-set test_dir /home/(アカウント)/(フォルダ)/PEAR/tests
pear config-set download_dir /home/(アカウント)/(フォルダ)/temp/download
pear config-set temp_dir /home/(アカウント)/(フォルダ)/temp

      ※無いフォルダは作っておく。
     ・再度確認
      %pear config-show
Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels auto_discover <not set>
Default Channel default_channel pear.php.net
HTTP Proxy Server Address http_proxy <not set>
PEAR server [DEPRECATED] master_server pear.php.net
Default Channel Mirror preferred_mirror pear.php.net
Remote Configuration File remote_config <not set>
PEAR executables directory bin_dir /home/(アカウント)/(フォルダ)/bin
PEAR documentation directory doc_dir /home/(アカウント)/(フォルダ)/PEAR/docs
PHP extension directory ext_dir /home/(アカウント)/(フォルダ)/PEAR/extensions
PEAR directory php_dir /home/(アカウント)/(フォルダ)/PEAR
PEAR Installer cache directory cache_dir /home/(アカウント)/(フォルダ)/PEAR/cache
PEAR configuration file cfg_dir /usr/local/php/5.2.8/lib/php/cfg
 ・・・(略)

  7:php.ini ファイル編集
    さくらサーバー管理
    ・アプリケーションの設定の
     「PHP設定の編集」
language = "Japanese"
mbstring.internal_encoding = "UTF8"
mbstring.encoding_translation = Off
allow_url_fopen = On
allow_url_include = On
file_uploads = On
magic_quotes_gpc=off
include_path=".:/home/(アカウント)/(フォルダ)/PEAR"

・・・以上で、PEAR インストール完了
   (の ハズ)
   次!


 ■symfony インストール
  1:PEAR利用して、インストールする
    ・SSHで
     (ブラウザからアクセスできない)場所に
     インストールする。


% cd /home/(アカウント)
% pear channel-discover pear.symfony-project.com
% pear install symfony/symfony
% rehash
% which symfony # 場所確認
% symfony -V # バージョン確認

  2:プロジェクト作成
% cd /home/(アカウント)
% mkdir -p symfony/(プロジェクト)
% cd symfony/(プロジェクト)
% symfony init-project (プロジェクト)
% symfony init-app (初期アプリ名)

  3:シンボリックリンク作成
   1:ブラウザからアクセスさせる為
ln -s ~/symfony/(プロジェクト)/web ~/www/(プロジェクト)

   2:sfの画像やデバッグツールを利用する為
ln -s ~/(フォルダ)/PEAR/data/symfony/web/sf ~/symfony/(プロジェクト)/web/sf

  4:さくらでは、.htaccess で、
    Options が使えない。
    ・/home/(アカウント)/symfony/(プロジェクト)/web
     以下にある、.htaccess を編集
#Options +FollowSymLinks +ExecCGI
<IfModule mod_rewrite.c>
RewriteEngine On
# uncomment the following line, if you are having trouble
# getting no_script_name to work
RewriteBase /

     ・1行目コメントアウト
     ・RewriteBase / を有効に。

  そして、
   ・ついに
   ・やっとこさ
  6:アクセス!
    http://(アカウント).sakura.ne.jp/(プロジェクト)/index.php/
    symfony:やっとこさ
    ※先ほどの画像は、XREA
     こちらは、さくらインターネット だ。


 あ~ 疲れた。


 ★ありがとうございました! の
  先人サイト
  ・さくらでpearインストール覚書
  ・PEARのインストール(さくらサーバー編)
  ・さくらインターネットへのPEARのインストール (PEAR本体)
  ・さくらインターネットでsymfonyをインストール
  ・さくらでSymfony
  ・さくらインターネットでSymfonyをインストール
  ・symfony1.2インストール - さくらサーバ・スタンダード


commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/935-dad3fa49
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。