![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Smartyとphpで動的にページコンテンツを生成するサイトをつくっています。
例えば、
index.php?m=front → front.phpにアクセスしてfront.tplを返す
index.php?m=page2 → page2.phpにアクセスしてpage2.tplを返す
index.php?m=page3 → page3.phpにアクセスしてpage3.tplを返す
…
という動作をさせています。
ただ設置しているレンタルサーバーが最近重く動作が鈍重になってしまい、phpファイルからただのhtmlファイルに換えたいと思っています。
上の例で言えば、
index.php?m=front → front.html
としたいのです。
はじめからfront.htmlを用意し、file("front.tpl")でテンプレートを読み込んでファイルを書き換えようと試しましたが、データベースの情報を含むページにそのデータの内容が反映されないところで行き詰っています。
何かしらの方法で、
php → Smarty → html生成
ということができないでしょうか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
casheを作成しているならば、htmlと同等だと思うのですが・・・
cgiとして動かせば多少は、重くなるかもしれませんが、
よっぽど、アクセスが多くないのなら、それ程気にならないと思いますが?
普通のhtmlファイルが遅いのならば、サーバの問題でしょうし、
極端に違うならば別の問題かもしれないので、
サーバ会社へ問い合わせるのがよろしいのでは?
>f_motionさん
以前はhtmlファイルで今ほど重くはなかったので、phpの処理の影響と思っていたのですが。
とりあえずサーバー会社には問い合わせてみます。
また、キャッシュの使い方の問題ということはありえますか?
物の本によれば、「テンプレート更新チェックのためのわずかな処理によってパフォーマンスが阻害される」とありましたが、例えば
$smarty->cache_lifetime = 3600;
$compile_check = false;
にしておけば、一時間ごとにキャッシュが破棄され、アクセスがあれば新しいキャッシュが自動で更新される、ことになりますでしょうか?
No.3
- 回答日時:
やはりCGIプログラムとして呼び出されている以上、それなりのオーバーヘッドは避けられません。
Apacheのモジュールとして動作させるサーバーに乗り換えるのがもっとも確実な方法だと思います。No.1
- 回答日時:
キャッシュを使えば、速度は速くなりますが、
DBが更新されたら、キャッシュも更新する
などの処理も必要になります。
どれ位アクセスがあるか分かりませんが、
サーバなどに問題がありそうですが・・・
参考URL:http://sunset.freespace.jp/Smarty/SmartyManual_2 …
この回答への補足
>f_motionさん
回答いただいて有難うございます。
f_motionさんの仰るようにキャッシュを使用しています。DB更新毎にキャッシュを更新するという設定にもしております。
ただそれでも遅いときは、画面表示に数秒かかるときがあって、その状況を改善したいのです。
確かにサーバーの問題かもしれないですね。
サーバーは、e-storeのサイトサーブというプランを使っているのですが、phpの実行はcgiプログラムとして動作するとなっており、
e-storeのcgiファイルの設置に関しては、
【設置ディレクトリ 推奨は、ログインディレクトリ(docs/)の1つ上にある cgi-bin ディレクトリですが、docs ディレクトリ内 でも動作します。】 ← public_htmlです。
呼出アドレスについては
【 ・cgi-bin ディレクトリに設置した場合は、「http://www.お客様ドメイン名/cgi-bin/ファイル名」】
となっていますが、私はcgi-binディレクトリは使用していません。
自分の思い当たるところでは、上の点かという気がしています。(サーバーの知識が乏しいので勘ですが・・・)
やはりphp → Smarty → html生成はできないでしょうか?
それかサーバーに設置を工夫することで改善できるでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- その他(プログラミング・Web制作) .htaccessファイルの修正がこれで問題ないかどうか 1 2022/04/21 08:42
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- その他(プログラミング・Web制作) 置換ソフトで指定したファイルの1行目に入力できるものを探しています 7 2022/11/24 10:34
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- HTML・CSS インクルードした要素がヘッダーにかぶってしまう 3 2022/09/13 17:35
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- PHP PHP ページング データベース 1 2022/06/16 10:30
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HPを開くとダウンロードページ...
-
application/x-httpd-php
-
phpで大量のhtmlを任意の順番で...
-
【php】Smartyを使うとどの様な...
-
社内イントラネットのHPにアク...
-
PHPのクエリ付(?)URLの転送
-
HTMLの自動生成について
-
PHPをhtmlに読み込んだファイル...
-
file_get_contents()の動きが読...
-
【BAT(バッチ)ファイル】Web...
-
フォントの色を変えるには?
-
AccessのDoCmd.SendObjectについて
-
.phpと.incファイルの違いはな...
-
FTPコマンドでディレクトリごと...
-
リンク先を隠す方法はないでし...
-
【file_exists】ファイルが存在...
-
セッションのクッキー有効期間...
-
配列とオブジェクトの違い
-
VBAでJPGサイズ変更
-
複数のファイルで同じ定数を定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HPを開くとダウンロードページ...
-
index.phpって何ですか? 具体...
-
社内イントラネットのHPにアク...
-
phpで大量のhtmlを任意の順番で...
-
PHPでの複数ファイル出力
-
CGIでHTMLファイルのPHP部分を...
-
phpコードの戻り値をhtmlファイ...
-
ヒアドキュメントの中で別ファ...
-
HTMのファイルをPHPに変換す...
-
VScode文字の色の変更について
-
php excelダウンロード
-
public_htmlと同じ階層にあるフ...
-
拡張子をhtmlにすることのメリ...
-
PHPの結果をhtmlで保存する方法
-
トップページURLのみで下層ペー...
-
phpのheader関数でページ移動さ...
-
PHP プルダウンからの選択 ペ...
-
file_get_contentsでcss読み込み
-
file_get_contents()の動きが読...
-
includeで読み込んだ内容を変数...
おすすめ情報