ラベル 学習 の投稿を表示しています。 すべての投稿を表示
ラベル 学習 の投稿を表示しています。 すべての投稿を表示

2020年11月17日火曜日

サイトの表示高速化のためにPage Speed Insightsを利用しましたとさ。

はいどうもマッスルハンターです。

とにかくサイトの表示は速い方が良い。そう信じて疑わないけど、何をすればいいのかわからない。
そんなあなたは是非こちらを利用しましょう。

Page Speed Insights

こちらに高速化したいサイトのURLを送信すれば分析してアドバイスをくれます。

1回やれば言われるまでもなく次からできる事もありますのでまずは見てみると良いでしょう。

私の場合はただ作っただけで全く気にしてなかったゴミのようなページがあったんでそれで試して下記を改善しました。

1.レンダリングを妨げるリソースの除外

この「画面の最初の描画のために必要な情報に絞る」というのがとても重要なようです。
javascriptやCSSの読み込みを非同期で行ったり、最初の描画に必要なCSSをインラインで設定したりしろとのこと。
私の場合はhead内で読み込んでたcssがこれに該当してたので「rel="preload" as="style"  onload="this.onload=null;this.rel='stylesheet'"」を追加したところ改善しました。

javascriptの場合はasyncやdefer属性で解決できます。

参考

2.適切なサイズの画像

これはフリー素材を拾ってきたままあげてて、無駄にでかい解像度だったので下記のフォーマットと合わせて修正しました。

3.効率的な画像フォーマット

最近はjpegにも種類があるようでして、JPEG2000やJPEGXRなんていう次世代フォーマットがあるようです。jpegではありませんが、同じくgoogleさんの提唱する?webpも助言に含まれていたので、既にインストール済みだったGIMPでWEBPに変換しました。

ただ、この画像フォーマットについてはブラウザの対応状況の問題もあるかのような雰囲気も無きにしも非ずです。
その中で下記を見るとwebpはおおむね大丈夫そうなのかと思いました。
対象とするユーザーによって考える必要がありそうです。


あまり中身のないページだったため以上を改善しただけでモバイル90、PC95までスコアがあがりました。

めでたしめでたし。

2012年12月13日木曜日

Zend Frameworkでつくるソーシャルゲーム 第4回 Zend_Application_Resource_Db

毎度どうも佐藤です。

Zend Frameworkでつくるソーシャルゲーム第4回まできました。

ブログで書いたシリーズ物では最長ではないでしょうか(爆)

今回はZend FrameworkからDBを利用できるようにします。
ここみたら終わりますが→利用できるリソース-Zend Manual
それはそれという事にして始めましょうか。

まずは設定ファイルをiniからymlに変更します。

(個人的にiniよりymlが好きなので)

NetBeansから編集していきますよ!

iniをいじる前にindex.phpを変更します。(別にどっちからでもいいんですが)

23行目あたりのZend_Applicationをインスタンス化しているところにiniファイルを指定しているところがあるのでそこをymlに変えます。
//public/index.php
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.yml'
);


index.phpはこれで終わりです。CTRL+Sで保存しておきましょう。

次は「application/configs/application.ini」を編集します。

まずはapplication.iniを右クリックして拡張子をymlに変更します。

それから当然中身も書き換えなければならないのでyml風に書き換えます。
CTRL+Hとかうまく使ってささっと書き換えてください。
これを
;application/configs/application.ini
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1



こんな感じにします。
#application/configs/application.yml
production:
  phpSettings:
    display_startup_errors: false
    display_errors: false
  includePaths:
    library: APPLICATION_PATH/../library
  bootstrap:
    path: APPLICATION_PATH/Bootstrap.php
    class: "Bootstrap"
  appnamespace: "Application"
  resources:
    frontController:
      controllerDirectory: APPLICATION_PATH/controllers
      params:
        displayExceptions: false

staging:
  _extends: production

testing:
  _extends: production
  phpSettings:
    display_startup_errors: true
    display_errors: true

development:
  _extends: production
  phpSettings:
    display_startup_errors: true
    display_errors: true
  resources:
    frontController:
      params:
        displayExceptions: true



参考
Zend_Config_Yaml

書き換えが正常にできたか確認

これでまずは実行してみてください

余分なスペースとかインデントにタブ使ったりするとエラーがでたりします。
:の前にスペースはいってたらダメで5分ハマリました。
前回と同じくWelcome to the Zend Framework!が見えてればミスはないと思われます。
もしエラーがでてたらZendServerのMonitor→LogsとかからPHPエラーログあたりを見て原因をさぐり修正してください。
多分今のところスペルミスとか、無駄なスペースが・・・とかインデントが・・・とかよくあるケアレスミスだと思います。

DBの設定をymlに記入

表示できたらresourceのところにdbの設定を追記します。
※今動作しているlocalのサーバはこのブログの通りならdevelopmentですが、developmentはproductionの設定を継承しているのでどちらの箇所でも大丈夫です。

resources:
    db:
      adapter: Pdo_Mysql
      params:
        dbname: dragonfantasy
        username: dragon
        password: fantasy
        host: localhost


とかいう具合に。
追記したらまた実行して書き方にミスが無いか確認します。

コントローラからDBを呼び出す

正常なら「application/controllers/IndexController.php」を編集します。
indexAction()でDBからデータを取り出してみます。
public function indexAction()
    {
        $db = $this->getInvokeArg('bootstrap')->getPluginResource('db')->getDbAdapter();
        $db->query('set names utf8');
        $res = $db->fetchRow('select id,name from dfaccount where id=1');
        Zend_Debug::dump($res);
    }


どうでしょうか?DBから正常にデータを取り出せましたか!?
できなかった方は画面やlogファイルに書かれたエラーメッセージを元にがんばってみてください!
最後眠くなって来てたので何か書き間違えたかもしれないけれど・・・(ぇ
何か突っ込みどころがあれば気軽にコメントください。

2012年7月24日火曜日

Firefoxアドオン開発-設定値の保存

ドラゴンクルセイド2F用アドオン開発日記でございます。
事前審査も通りましたんで絶賛?テスト公開中です。

チャットの自動読み込みと税金の自動徴収を設定値を保存できるようにいたしました。
その際に「アドオンの設定を保存する方法」を学んだのでメモしておきます。

Preferences-MDN ←に書いてある事ほぼそのままなんですけど、ブランチ取得してsetなんちゃら、getなんちゃらメソッドでやるだけです。

// "extensions.myext" ブランチを取得
var prefs = Components.classes["@mozilla.org/preferences-service;1"].
getService(Components.interfaces.nsIPrefService);
prefs = prefs.getBranch("extensions.myext.");


nsIPrefBranch には設定の取得・設定のための 6 つのメソッドがあります。getBoolPref(), setBoolPref(), getCharPref(), setCharPref(), getIntPref() そして setIntPref() です。

// nsIPrefBranch 経由の設定操作
// branch を取得する方法は一つ上の章を読んでください
var value = prefs.getBoolPref("accessibility.typeaheadfind"); // 取得
prefs.setBoolPref("accessibility.typeaheadfind", !value); // 設定


prefs.getBranch()の時に最後のドットを忘れて10分くらいハマりました。はい。

規定値の設定は「/defaults/preferences/*.js」だそうで、
そこに
pref("extensions.extensionname.preferencename", false);
って感じで書いてやれば勝手に読み込んでくれます。

やってみると非常に簡単なんですけど、MDNのページ読んでると難しそうに見えました。
扁桃炎でちょっとボケてるのかも・・・。

2012年7月7日土曜日

Firefoxアドオン開発-テキストが選択できない件

毎度どうもゲームするよりゲーム用のアドオン作ってる方が楽しいんじゃないかと思う今日この頃の佐藤です。

Firefox用アドオン-DC2Fサポートを作ってて苦労した事のメモなんです。

まずチャットの表示をどのようにするべきなのかわかりませんでした。

今のところboxの中にdescriptionタグで落ち着きました。labelでもできると思います。
ちなみに最初はiframe使ってその中でpタグでやってました。
なんでそうしたかは忘れました。
descriptionとかlabelとか知らなかったからだったかな・・・。
https://developer.mozilla.org/ja/XUL/description

次に、世界チャットだけ表示できない問題に悩まされました。
これは世界チャットだけ内容にタグが入っているからでした。
タグを抜き取ることでひとまずよしとしました。
後ほど色付けする予定。

そして、表示したテキストが選択できない問題の登場です。
こいつには相当悩まされましたが、FirebugでCSSを眺めている時に 「-moz-user-select」といういかにもなプロパティを発見し、グーグル先生に聞いたらやっぱりこいつのせいだって言ってました。
https://developer.mozilla.org/En/CSS/-moz-user-select

こんな感じでCSSを設定して解決しました。

.chatLine{
margin:0 0 0 0;
padding:0 5px;
line-height:15px;
display:block;
-moz-user-select:text;
-moz-box-sizing:border-box;
cursor:text;
}

Firefoxアドオン開発-JQueryの.append()で書き込めなかったんすよ。

DC2Fアドオン作成中、チャットの表示をしようとする時に
TypeError: p is null

ってエラーに悩まされた。

初歩的な話っぽいけど、XULで「<」とか「&」とか.append()で書き込もうとするとでるっぽい。
タグいれたきゃはこんな風にしろってさあああああ。
var href = "http://www.google.com/";
var text = "Google";
$("body").append(
$("<div>", { class: "foo" })
.append($("<a>", { href: href, text: text })
.click(function (event) { alert(event.target.href) }))
.append($("<span>").text("Foo")));

&はどうすればいいのかまだわからない・・・。
XUL_School/DOM_Building_and_HTML_Insertion#jQuery_Templating

っていうか子供泣き過ぎでブログ書けねぇ!腕を引っ張るな!wwwwww

Firefoxアドオン開発-cookieの取得(XPCOMの利用)

DC2FはクッキーにセッションIDが保存されておるので、それを取得したかったんです。
でもFirefoxに保存されたクッキーをどうやったら覗けるのかがわからんかった。

XPCOMだろうなぁ。と思って検索したらわかりました。

XPCOMの利用例(クッキー)
ここにある例を参考に無事取得することができたので、アドオンの下準備部分を書き換えましたよ。
わかれば意外と簡単ですね。
MDNのページってところどころ日本語訳のページなかったりで見づらいっす。


2012年7月3日火曜日

Firefoxアドオン開発-Webコンソール

WEBコンソール今使ってみてすげー便利ってわかったよ・・・。

Web Console

そしてFirebugの良さを再認識だよ・・・。

Webコンソールみて

-- [23:41:45.408] Web コンソールのログ記録 API (console.log, console.info, console.warn, console.error) は、このページ上のスクリプトにより無効化されています。

とかでててconsole.log()が使えねえ!って調べてたら、Firebugのコンソールにでてるだけじゃねえか!恥ずかしいw
alert()で頑張ってたとかほんと恥ずかしい。

つーかもう今使いたかった程度の事ならconsole.logすらいらねーじゃん。
オブジェクトの中身とかコマンドライン インタプリタで十分じゃんじゃんじゃじゃーん。
何故今まで俺はこの辺の情報に辿り着けなかったんだああああああああああああああああああああああああ。うんこおおおおおおおおおお。

Firefoxアドオン開発-アドオンのテスト

開発中のアドオンのテストする時にいちいちXPI更新するのは面倒なので下記のような方法を使っているわけです。

一回addons.mozilla.orgにUPしてインストールした時に、IDが同じだからローカルのが消えちゃってたわけですね。(消しちゃってたのかもだけど)

んでもっかいやろうとした時にアレ?っとなったのでメモしとく。

ちなみにプロファイルフォルダは自分の場合はここ↓にありましたよ。

C:\Documents and Settings\[ユーザー名]\Application Data\Mozilla\Firefox\Profiles\プロファイルフォルダ

 

以下 Building_an_Extensionより

テスト

最初に、我々はあなたの拡張機能の存在を Firefox に伝えなくてはなりません。昔、Firefox 1.0 の頃にはこれは、あなたの拡張機能を XPI としてパッケージ化して、ユーザインタフェースを通じてそれをインストールする事を意味していました。これが実に辛い。でも、今はもっとずっと簡単です。
  1. あなたの環境の プロファイルフォルダを開いてください。
  2. そこにある extensions という名前のフォルダを開いて下さい。(なければ作成して下さい。)
  3. 新しいテキストファイルを作成して、その中にあなたの機能拡張フォルダのパス(例:「C:\extensions\myExtension\」とか「~/extensions/myExtension」とか。)を書いて、そのファイルをあなたの拡張機能のIDと同じ名前(例:「sample@foo.net」)で保存して下さい。
これで拡張機能のテストの準備ができました!
Firefoxを起動します。Firefox はあなたの拡張機能のディレクトリへのテキストリンクを検出して、そして拡張機能をインストールしてくれます。ブラウザウインドウが表示されると、ステー タスバーパネルの右側でテキスト「Hello, World!」と表示されているのが見えるでしょう。
戻って「.xul」ファイルを修正した場合も、ファイルを閉じて Firefox を再起動すれば、その結果が反映されます。

んで更にアドオンで再起動ボタンとか入れとくと楽だと思う。

2012年6月30日土曜日

ドラゴンクルセイド2F用Firefoxアドオン開発

ドラゴンクルセイド2Fのユーザーインターフェースがクソすぎるので勉強がてらFirefoxアドオンを作ってみることにした。

そもそもの始まりはゲーム内チャットが使いづらすぎることだった。
  • 日本語入力を確定するとチャットが送信されてしまう事
  • チャットにスクロールバーがついているのに過去の発言を閲覧しようとしてスクロールしてると、勝手に最新の発言のところまで戻されてちゃんと見れない事
というわけでFirebugで通信内容を覗いたら普通にチャットの発言とか覗けたので、アドオンとしてつくれるんじゃねぇか?って妄想した。
Firefoxのアドオンは作ったことなかったので魔法使いとしてはやってみる必要があると思った。

で、アドオンの作り方から調べて、現在の機能
  • ログインは2サバ限定(簡単に変更できると思う)
  • 世界とギルドチャットの取得(約5秒間隔)
  • ギルドチャットでの発言

これから作る予定の機能
  1. 税金の自動徴収
  2. 城のリスト表示
    • 建築中物件の表示
    • 物件のアップグレード
あと色々妄想するところはあるけど、モチベが続くかどうかが問題だ。
例えば便利そうで実現できそうなのは
最寄りの野外資源地検索
建築キュー(通常2件までだが、終わったら自動的に次を入れれるようにする)
自動最上級兵士生産
自動狩り

ってやり過ぎるとただのBOT・・・?

 DC2Fサポートツール(Firefoxアドオン)


2010年2月16日火曜日

vsftpd Linux(fedora9) くだらない事でハマッた・・・・orz

FTPとかいじってなくて忘れてたんですけど(言い訳
結論から言うと
lacal_root=public_html
になってたのにpublic_htmlがなかったという非常にお間抜けな話なんです。

まぁそもそもchrootを理解してなかったと言う事だったわけですね。
自分のアカウントだけchrootしてなくて
他ユーザでログインできなくて、あれれ~?ってなってました。

FFFTPでは
表示→処理内容をビューワーで表示
ホスト [サーバーアドレス] (21) に接続しています.
接続しました.
220 Welcome to FTP test server.
>USER muscle2
331 Please specify the password.
>PASS [xxxxxx]

ログインできません.

となってまして、SSHでサーバーは入ってftpにつないで見ると
[muscle2@mail ~]$ ftp
ftp> open 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 Welcome to FTP test server.
Name (127.0.0.1:muscle2): muscle2
331 Please specify the password.
Password:
500 OOPS: cannot change directory:public_html
Login failed.
ftp>

って感じでしてここで気づけそうだったのに
SELinux確認してみたりとかしたんですけど
結局はユーザーのホームディレクトリにpublic_htmlがなかったという落ちだったわけですね。
アラヤダwハズカシイw

で、public_htmlは別にいらないので
local_root=
として各ユーザーのホームディレクトリに繋がるようにしました。
これはデフォルトらしいんでもともとlocal_root=とかかかなきゃ良かっただけだった!オーマイガッ!

ついでなんでchrootについて
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

まぁ英語のコメント読めばわかりますが、
この設定だとlocal_user=YESになってるんで/etc/vsftpd/chroot_listがchrootしないリストになってるわけですね。
あと特定のユーザーだけ別のところにchrootするとかあった気がしますが、どこか忘れました。

むしろ今それ探してたら、同じ人見つけちゃった・・・・
これ昨日も見たはずなのによく読んでなかった・・・orz

2010年2月3日水曜日

EC-CUBE iPhone用ページ作成中

EC-CUBEでiPhone用のページも作って^-^
との突然の伝令により鋭意作成中なんですけど
iPhoneもec-cubeもよくわからねーんですけどw
すげーいまさらなんですけど
マジでEC-CUBEの構造わかってませんでした。@w@;
iPhone用のページを追加するにはどうすればいいのかと
ちょーソース読みまくったんですけど(あくまで自分的に)
すごい無駄足踏んだ気分たっぷりです。はい。orz
(関係ないですけど、今日はお弁当のとんかつソースはこぼれまくりでした。)
結局ページの追加自体は管理画面のページ詳細設定から追加してやればよかったんですね。
ガラガラドガシャン(何かが心の中で崩れていく音)
で、トップページにアクセスしたときに
html/require.phpの中で携帯(/mobile/)へ飛ばしてるようなので
真似してその前で
// iPhoneの場合は iphone.phpへリダイレクトする。
$agent = $_SERVER['HTTP_USER_AGENT'];
if(ereg("iPhone|iPod", $agent)){
    header("Location:".SITE_URL."user_data/iphone.php");
}
とかいう感じでiphone用のページへ飛ばしてヤッチマイナー!
ってことにしました。
携帯に飛ばしてるのをみるとなんだか色々やってますけど
とりあえず今のところこんな感じでよしとしておきます。
もう頭パンクしそ・・・プスゥ!・・・パンクしました。
あ、これだけだと無限ループしちゃうので
iphone.phpから読み込むrequire.phpは
iphone.phpへリダイレクトしないように同じフォルダに元のやつをコピっておいて
iphone.phpのrequire_onceを
require_once("./require.php");ってな感じにして
そうするとuser_data/require.phpの中のrequire_onceさんが文句たれるので
require_once("../define.php");
require_once( "../". HTML2DATA_DIR . "require_base.php");
ってな感じで適当に、とりあえず動けばいいんだよ!っていう事にしておきました。

で、お次はiphone.tplさんの編集ですね。
こちらはこれからなので・・・・
つづく

2010年1月28日木曜日

Aptana Studio 2.0 起動できない 日本語化

CSSとXHTMLとutf-8を扱えるエディターが欲しいなぁと最近思うんですが
よくわからねーんで、とりあえずなんか使ってみっかってとこなんですが
HTML Project2ってのをインストールしてみたけど
デフォルトではutf-8に対応していないようでちょっと置いといて・・・

Aptana Studioというのをいじってみようかと思いまして
ダウンロードしてインストールして日本語化して起動!
と思ったら起動しなかったんですね。
日本語化用のPleiadesが落とすのちょっと違ったみたいです。
ちょっとハマり気味だったのでメモっときます。

AptanaStudioのダウンロード

AptanaStudioはaptana.orgから落としますね。
スタンドアローン版のWindows用のFull Installerを落としましたのよ。
http://www.aptana.org/studio/download

Pleiadesのダウンロード

Pleiadesはmergedoc.sourceforge.jpから落としました。

これ最初 Pleiades All in One 日本語ディストリビューションのPlatformってのを落としてしまったわけですね。
他のだったらいけてそうですが、とりあえず スクリーンショットにあるように「Pleiades 本体ダウンロード」の方から落としたら問題ありませんでした。




Aptana Studioのインストールと日本語化

インストールは普通にやれば問題ないと思います。
で、日本語化ですが、
まずはダウンロードしたPleiadesを解凍して、「plugins」「features」のフォルダをAptana Studioのフォルダにコピーして上書きします。
インストール先を変更していなければ「C:\Program Files\Aptana\Aptana Studio 2.0」だと思われます。
Pleiadesに入っている「eclipse.exe -clean.cmd」もコピーしてしまいましょう。
これはコピーしたらテキストエディタで開きます。
start .\eclipse.exe -clean %*のところを
start .\AptanaStudio.exe -clean %*と書き換えます。

そしてAptanaStudioフォルダのAptanaStudio.iniを開き
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
と、1行追記します。(これについてはPleiadesのReadmeに書いてありました。)

追記したら「eclipse.exe -clean.cmd」をダブルクリックして起動しましょう。
起動したら成功ですね。おめでとう。
次回からは普通にショートカットから起動でよろしいかと思われます。
不正終了した時は-cleanで起動しろとの事です。
毎回やるのは重いんでやめとけよ。ってことらしいです。

参考リンク
第4回:Aptana Studio始めました

2009年12月25日金曜日

EC-CUBEインストール それでははじめから。

WindowsVistaの場合
Xampp1.7.1をインストール(最新版ではエラーがでる模様)
PostgreSQL8.4をインストール(MySQLを使うなら不要)
DBの作成EC-CUBEのインストール
こんな感じですか。

2009年12月24日木曜日

突然始まるEC-CUBEであった

とりあえずWindowsとLinux並行して進める

Windows vistaの方で色々と問題が!
Xampp+posgresでやろうとしたら
Xamppの最新版はエラーがでるらしい(現時点では1.7.3)ので1.7.1をインストール
postgreSQLは8.4をインストール
なかなかうまくいかないので自分の環境でもやろうと
8.3をアンインストールして8.4をいれようとしたら
インストール失敗
【Windows】PostgreSQL 8.4 インストール
この辺のページを見て解決

ユーザーが残っててパスワードが設定できなかったらしい
このコマンド打ってインストールはOK
net user postgres /delete

で、なんかXamppはいれなくてもっていうかXamppならmysqlでよかったんじゃ・・・
postgreSQLのおまけでもApacheいれられたくせぇし、
次はXamppなしでやってみようかな。

create user eccube_db_user with createdb nocreateuser password 'ぱすわーど';

create database  eccube_db with owner eccube_db_user;

2009年12月11日金曜日

phpMyAdminインストール PHP MySQL 文字化け

ええ、CSVファイルからMySQLにデータいれるときに日本語がばけちゃって
すごく嵌りましたね。
答えは
ALTER TABLE `quals` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci
ALTER TABLE `quals` CHANGE `level` `level` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci

でしたか。
文字セット
照合順序がすうぇーでん?とかなってたしw
ですね。ええ、とてもはまりました。
前にも似たような事があったようなw
フィールドごとになおさなきゃならんかったんでphpMyAdminでそのままなおしてしまいました。

-----------------
yum install phpMyAdmin

vi /etc/httpd/conf.d/phpMyAdmin.conf

<Directory /usr/share/phpMyAdmin/>
order deny,allow
deny from all
allow from 127.0.0.1
allow from ここに追記?
</Directory>

http://serveraddress/phpmyadmin
SQLサーバーのユーザーでログイン

2009年12月4日金曜日

CakePHP-ページ付け(Pagination)

これはチョー便利ですね。

CakePHPによる作業の定石
ページ付け(Pagination)

コントローラーで$paginateを定義して
functionをちょろっとかいて
function list_recipes() {
    $data = $this->paginate('Recipe');
    $this->set('data', $data);
}
 viewで表示はほとんど一緒だし!
 感動した!

2009年11月27日金曜日

mod_rewriteとは?

Apacheのモジュールでmod_rewriteってのがありますね。
PHPのフレームワークをいじろうとする時とかでてきますね。
よくでてくるこいつ、実はなんだかよくわかってませんでした。

で、ぐーぐる先生に聞いたら
「URLを正規表現で置換しちゃうんだおw」
っていってました。

参考リンク
http://tech.bayashi.net/svr/doc/apache/mod_rewrite.html

2009年11月20日金曜日

EC-CUBEインストール 失敗

Linuxに入れようとして
ファイル配置してインストールスクリプトにアクセスしようとしたら
何にも表示されなくて真っ白で
/var/log/httpd/error_logを見ると
PHP Warning:  require_once(/var/www/html/../data/require_base.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: Permission denied in /var/www/html/require.php on line 26
などどありました。
lsでファイルの権限を確認しました。
ところが問題はありませんでした。
グーぐる先生に聞いたらSELinuxのせいだって教えてくれました。
setenforce 0
としてからやってみたら表示されました。
でもSELinuxは切らないでやるつもりなのでお勉強します。

restorecon -R /var/www
とか
chcon -t httpd_sys_content_t /var/www/data -R
とかでちょっと進んだんですが

またエラーでて
PHP Fatal error:  Call to undefined function mb_ereg() in /var/www/data/class/util/SC_Utils.php on line 1455, referer: http://192.168.63.204/install/index.php
はい、で、どうやらmbstringっていうモジュールが入ってないってことみたいなので
yum install php-mbstring

posgreSQLのユーザ作成とDB作成
su - postgres
createuser --createdb --no-adduser --pwprompt eccube_db_user
※password入力
createdb eccube_db

[nativecode=Unable to connect to PostgreSQL server: could not connect to server: 許可がありません Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 5432?]

 iptables -L --line-numberで番号つきで見れる

iptables -I INPUT 14 -j ACCEPT -s 127.0.0.1 -p tcp --dport 5432

なんか結局どれが必要なのかわからなくなったw
また後日やりなおしてみますよ・・・。

2009年11月19日木曜日

CakePHP入門

命名規約ですよ。
http://book.cakephp.org/ja/view/26/View-Conventions
  • データベースのテーブル: "people"
  • モデルクラス: "Person"、 場所は /app/models/person.php
  • コントローラクラス: "PeopleController"、 場所は /app/controllers/people_controller.php
  • ビューのテンプレート、場所は /app/views/people/index.ctp