質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1054閲覧

phpのバージョンの違いで生じる問題

pegy

総合スコア243

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2020/02/10 16:24

編集2020/02/11 11:27

とあるレンタルサーバーで不思議な現象に悩まされております。


(修正後のご質問)

(現象)
index.phpの中身と更新した時間は以下の内容だけです。※更新時間については不明瞭であったためこの点は訂正します。

<?php echo "12:00";?>  //2020/2/9/12:00に更新 <?php echo "12:05";?> //2020/2/9/12:05に更新 <?php echo "12:10";?>  //2020/2/9/12:10に更新

そして2019/2/9/12:30にindex.phpをsub.example.com/index.phpのサブドメインで実行すると当然期待される結果は「12:10」が出力されることですが、ブラウザをリロードするたびに結果が異なります。つまり、「12:00」、「12:05」、「12:10」がリロードするたびにランダムで出力されます。当然、この間にサーバー上のディレクトリの環境やファイルは何も操作していません。ブラウザをリロードしているだけです。
追加でお伝えできることがあるとすれば、chrome、IE、FireFox、Safariどれで実行しても同じ現象を確認しています。

ここで、レンタルサーバーの仕様上、ルートディレクトリにsubディレクトリを作成して、そこにファイルを格納すると公開フォルダとなることがわかっています。この公開フォルダの場合、以下の2通りのアクセスの方法があります。2.についてはメインドメインの中にあるサブドメインフォルダに直接アクセスするという考え方です。
1.sub.example.com/index.php
2.www.example.com/sub/index.php

1.ではレンタルサーバーの仕様上、php7.3(モジュール版)でのみのサポートであり、上記問題の現象が起きております。
2.ではphp5.3(CGI版)でのサポートもしており、こちらでアクセスすると、上記問題の現象が発生しません。

(問い合わせの内容)
上記の説明を本当にそのまま、問い合わせ窓口にお伝えしました。
(回答)「通常考えられない動作ではあるが、違いはPHPのバージョンだけなので言語上の問題である可能性がありそれはサポートはできません」
(追加の質問)「言語での詳細なことはお伝えはいたしませんが、echoは単純に文字列を出力するだけの関数であり、特にPHPバージョンが7.3になったことで当該現象が起きることは考えづらいです。サーバーのキャッシュの考え方等は私も、詳しくはないので具体的な形では質問はできないのですが、サーバーの仕様などを含めて他に可能性があるのではないでしょうか?」
(回答)「ございません、個別の言語のバージョン等の違い等についてはサポートはいたしかねます」

という状況でございます。
そこまでレンタルサーバーがおっしゃるのであれば、一般的に言語のバージョンの違いで(バグなのかはわからないですが)本当にこの様なことが起きる様な事例があり得るのか?という視点でご質問をさせていただい次第です。

※CGI版とモジュール版
レンタルサーバーでは以下の様に説明されております。

CGI版
実行プロセス:Apacheのプロセス
レスポンス:高速

モジュール版
実行プロセス:PHPのプロセス
レスポンス:低速

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/02/10 20:54

記述内容に具体性が足りないため、何も切り分けられないです。 もう少し具体的な内容に修正し、記述内容を「実際の現象/会話」と「実際の現象/会話を比喩的に記述した箇所」に分けて説明してください。 特に「/index.php」の中身と、時間をずらして行った行動を具体的にすることと、サポート窓口でのやり取りに関して、正確な情報がほしいです。 ざっと見ると、どこかのキャッシュが返事をしているように思うので、何らかのキャッシュが動くような仕組みがあるのであれば、それも記述があると切り分けしやすいです。 どこのレンタルサーバの、何というサービスかわかれば、その仕様について詳しい人やマニュアル読むのが好きな人が回答をくれるかもしれないです。
m.ts10806

2020/02/10 21:20

>そんなわけはないと思う と言っても現時点では「PHPのバージョンによる問題」または「サーバーの仕様」以外、誰にも答えようがないですね。 思うのは結構ですが、聞き方とかによって引き出せる情報って全く違ってくるのでそこも工夫してみては?teratailでも同じですよ。この聞き方では既に問い合わせで得られた以上の結果は得られません。
退会済みユーザー

退会済みユーザー

2020/02/11 01:16 編集

モジュール版/CGI版を共に高速と説明するレンタルサーバー会社なら解約して別の業者にいったほうがいいです。
otn

2020/02/11 10:16

状況をうまく説明できないのであれば、直接現象を見てくれる人を探すしかないと思います。
pegy

2020/02/11 11:32

te2ji様、m.ts10806様 コメントをお寄せいただきありがとうございます。ご指摘を受けて改めて質問を書き換えたのですが、やはり起きている現象と事実自体は単純なことで、申し訳ございません、やはりこれ以上具体的なことを書き加えることができませんでした。 強いて申し上げれば「ロリポップサーバーのスタンダードプランというサービス」ということを具体的に申し上げることができます。これは当初の質問で最終的に削除しました。契約の相手方もあり問い合わせのやりとりも記載することになるため、不適切な場合もあるとの配慮のためです。teratailの規約を読んでも必ずしも開示は否定されないとの判断のもと、記載させていただきました。 お手数ご迷惑をおかけし申し訳ございませんが、現時点でこれ以上の事実が本当にないため、おっしゃる通り問題の切り分けや解決することは難しいと考えております。
pegy

2020/02/11 11:34

asahina1979様 コメントありがとうございます。本件は誠に申し訳ございません。私の質問内容の誤記でございます。上記に記述した、レンタルサーバー様は適切に開示しており、私のミスでございます。 修正をさせていただきましたことと改めお詫びを申し上げます。
pegy

2020/02/11 11:37

otn様 コメントをお寄せいただき、ありがとうございます。 状況については、本当に上記のPHP設定(バージョン)+ディレクトリの構造だけでPHPコードもechoの1行だけです。 やはり、解決困難である状況に変わりはないと考えますので、こちらの質問はcloseするのが適切かと考えます。
退会済みユーザー

退会済みユーザー

2020/02/11 11:43

ロリポップでバージョンを変えれないとなるとライトスピード版かバージョンを変更できるサーバーの契約に変更したら
pegy

2020/02/11 11:59

asahina1979様 ありがとうございます、まさに今検討をしておりました。一方で、他のレンタルサーバーを利用してことがないため、そもそも他のサーバーにしてみるの可能性も含めて模索しております。ちょっと、今時のサーバーレスのFirebaseというサービスも気になっていたのでこれを機会に勉強しながら使ってみたいとも思っています。 いずれにしても、コメントに御礼申し上げます。
m.ts10806

2020/02/11 20:10

念のために確認いただきたいのですけど、 下記だとなんて出ます? echo date("YmdHis");
pegy

2020/02/12 03:44 編集

コメントありがとうございます。 試すことができる環境が仕事中の昼休みと帰宅後しかなく、コメントが遅くなり申し訳ございません。 ご指摘のコードでファイルを更新して、5分位経過して ”20200212123305” が出力されることを確認しました。(初めの5分程度は難度更新してもこれは出力されず、上記の内容がランダムで出力されています) 1.その間は”12:00”や"12:05"などがランダムでリロードのたびに表示されています。 2.また、"20200212123305"が一度出力されたあとも、リロードのたびに”12:00”や"12:05"もランダムで表示されることも確認しています。 3.一方で、3日前に更新していたecho "2020/2/9 12:00"は、ランダムで表示されなくなっています。これは当初の質問からランダムでは表示されてはいない前提でお伝えしていましたが、ご参考になればですが、一定期間経過したバージョンは呼び出されていないことがわかりました。これが3日なのか2日なのか10時間なのかなど、必要経過時間は現状、わからないのですが、少なくとも現状、3日前のものは反映されなくなっていることはわかっているということになります。 よろしくお願い申し上げます。
m.ts10806

2020/02/12 03:42

んん? 提示したコードはアクセス時のシステム日時を秒単位で出力するコードなので戻ることはありえないはずなのですが、戻るんですか?
pegy

2020/02/12 03:47 編集

はい、時刻が戻って表示されます。 今、複数回リロードをしていますが、 20200212124550 20200212124648 であったりランダムで表示されます。
pegy

2020/02/12 03:48

0200212124648の後にリロードして20200212124550が表示されたりもする という意味になります。
pegy

2020/02/12 03:50

もちろん、その間にも"12:05"なども出力される場合もあります。
m.ts10806

2020/02/12 03:59

んーー。 となるとサーバーの仕様のように思います。やはりサポートセンターにに問い合わせた方が良さそう
退会済みユーザー

退会済みユーザー

2020/02/12 04:04

どっかのキャッシュをぐちゃぐちゃに参照しているぐらいしか思いつかん。 ブラウザのアクセスしてる先の IP アドレスってどっかで見れませんでしたっけ?想定しているアドレスにアクセスしていれば、サーバ内のキャッシュの話だし、そうでなければ、外の proxy の話だし。
tacsheaven

2020/02/12 08:41

実は対象のサーバが複数台あってロードバランスされていて、それぞれのサーバに適用されている HTML が異なってるという可能性も……
pegy

2020/02/12 10:47

m.ts10806様、te2ji様、tacsheaven様 ありがとうございます。コメントをいただきました内容を前提にもう一度、明日サポートに問い合わせを行ってみます。ロードバランサを通す場合でもみに行くサーバーは同一という認識があったのですが、複数の異なるサーバーをみに行く場合もあるのですね。 いずれにしてもいったんクローズしますが、もし有用なことがのちに判明した場合には、本記事に追記を行おうと思います。 改めて御礼申し上げます。
guest

回答1

0

自己解決

サーバー側の問題の可能性が高いため、解決はしていませんが、改めてサポートに問い合わせをさせていただきます。
案件をクローズします。

投稿2020/02/12 10:48

pegy

総合スコア243

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問