[過去ログ] PHP質問・雑談スレ4【初心者お断り(ROM歓迎)】 [無断転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
287: 2018/02/21(水)16:45 ID:??? AAS
未経験からWEBプログラマって本当かな
外部リンク:fenixjob.jp
288: 2018/02/22(木)07:13 ID:??? AAS
未経験 != 無知
289: 2018/02/28(水)19:16 ID:oG8SOZNq(1/2) AAS
DateTime::createFromFormatの第一引数に'Y-m-d'、第二引数に日付の文字列を指定して使うと
時刻は0時0分ではなく、現在の時刻が勝手に設定されます
一方、DateTimeのコンストラクタの方(日付の文字列だけを指定する)は時刻は0時0分になります
何でですか?意味が分かりません

DateTime createFromFormat without time - Freek Lijten 外部リンク:www.freeklijten.nl
290: 2018/02/28(水)19:16 ID:??? AAS
1人でphpで作っているプロジェクト(と言ってもDBでユーザ管理するぐらいのもの)の
進捗状況(編集履歴)を外部に見てもらうためにはBitbucketとか使えば良い?
1日の終わりにプロジェクトのルートディレクトリごと放り込めば
webで差分とかがわかるとかできたらいいんだけどどうでしょう?
291: 2018/02/28(水)19:19 ID:oG8SOZNq(2/2) AAS
createFromFormatの場合、!が無いと現在のシステム時刻で初期化されるとは確かに書いてありますが
直感的でなくて分かりにくい挙動だと思います。

外部リンク[php]:php.net
292: 2018/02/28(水)19:51 ID:??? AAS
外部リンク:github.com
ここで追加されたコードみたいだしコミッター(Derick Rethans)に聞いてみたら

まぁ分かりにくいのは同意する
何で修正されないんだって話ならBC breakだからとしか
293
(6): 2018/03/07(水)19:24 ID:??? AAS
こんばんは。PHPで作ったページのInternal Server Errorについて質問です。

FC2のレンタルサーバーを借りて、WEBサイトを作っているところです。
PerlのCGIでページを作ると、エラーになると500 Internal Server Errorが表示されます。
ところが、PHPでページを作ると、エラーになると真っ白なページが表示されるだけで、
500 Internal Server Errorが表示されません。
これは一体なぜでしょうか?

現象
PerlのCGIでエラーが出ると →
 ApacheデフォルトのInternal Server Errorのページが表示される。

PHPのページでエラーが出ると →
省8
294
(1): 2018/03/08(木)02:07 ID:??? AAS
>>293
『PHP 真っ白』で検索
295
(1): 2018/03/08(木)06:24 ID:??? AAS
PHPになんらかのエラーがあった場合、通常はレスポンスコードは200で返ってきて、
エラー個所を表示するようになってる。
どの種別のエラーを表示させるかというのはサーバ側(PHP)の設定次第だし、
エラーには時に重要な情報も含まれる可能性があるので、
第三者に見られないよう、エラー表示自体をしないことも可能。
また、レスポンスコードをどう返すかというのもサーバ次第で、
通常200のところを、500にすることも可能だし、
同じ500でも、PerlCGIとPHPでは返すドキュメント(body)を別にすることも可能だし、
もちろんbodyを含まない、ヘッダ情報のみを返すことも可能。

早い話、全てはサーバの設定次第なので、FC2側で単にそうなっているだけなのだろうという事。
省2
296: 293 2018/03/08(木)07:28 ID:??? AAS
>>294-295
ありがとうございます。

>>295によると、
 ・PHPではエラーがあっても200が返ってくる。
 ・ただし、ちゃんと実行できてないから、中身は真っ白になる
 ・PHPのエラー表示は設定で可能(←これはできました)
 ・サーバーの設定次第では500を返すことも可能
   (レンタルサーバーでは、設定を変えられるかどうかはサーバー次第)
ということですね?

何となく分かってきました。
省1
297
(1): 2018/03/08(木)12:56 ID:??? AAS
開発用環境を考慮してデフォルトではエラー表示はOnだけど
エラー表示関連はPHP_INI_ALLで一般ユーザが設定できるようになってるので
本番用環境のphp.iniは管理者側でデフォルトではエラー表示をOffにして
必要があればOnにするよう利用者に委ねるというのが行儀のいいレンサバ管理者
今は知らないけど昔xrea使ってた時はOnのままだったけどあれはよくない
外部リンク[php]:php.net

> ・PHPではエラーがあっても200が返ってくる。
> ・サーバーの設定次第では500を返すことも可能
デフォルトのエラー表示Onのままであれば200だけど
上記の通り本番環境ではOffにすべきであり
省4
298
(1): 2018/03/08(木)13:04 ID:??? AAS
ちなみに500ページを表示させたいというなら
htaccessが使えるなら設定してみては?
apacheは詳しくないんで答えれないけどできそう
299: 293 2018/03/08(木)13:10 ID:??? AAS
>>297
> デフォルトのエラー表示Onのままであれば200だけど
> 上記の通り本番環境ではOffにすべきであり
> Offにしたらサーバ管理者がhttpdに細工をしない限り500が返るはず
> fc2でエラーに500が返ってくるというのは正しい状態と見なしていい
FC2でPHPのエラーになると、IEとFireFoxは真っ白画面。
Chromeではブラウザーが出した500エラー画面。
なので、PHPエラーでちゃんと500エラーが返ってきてるって判断した。
不思議なのは、普通は404でも500でも、Apacheがデフォルトの
エラーページを送ってくるのに、なんで500エラーだけ
省2
300: 293 2018/03/08(木)13:16 ID:??? AAS
>>298
自作500ページを表示しようとして表示できないからおかしいなって思って、
いろいろ試して、Apacheデフォルトの500も表示されないって気付いた。

404とかは、自作にしたら自作が表示されて、
自作じゃなくしたらApacheのデフォルトが表示される。
301
(2): 2018/03/08(木)13:48 ID:??? AAS
phpがエラー検出したあとapacheに対してこれを返してくれと
500レスポンスコードにContent-Length:0の空のHTMLを送ってるイメージ
302
(1): 301 2018/03/08(木)14:16 ID:??? AAS
if (responceStatus == 500 && responceBody.length == 0) {
 responceBody = readFile("/errors/500.html");
}
疑似コードだけど
こんな感じのをhtaccessで設定できるならいけるんじゃないのってことね
303
(1): 2018/03/08(木)14:57 ID:??? AAS
外部リンク[html]:oshiete.goo.ne.jp
FATAL ERRORが出るのが原因らしいが
304
(1): 2018/03/08(木)14:58 ID:??? AAS
typo FATAL→FETAL
305: 2018/03/08(木)15:12 ID:??? AAS
PHPでどうこうするっていうソリューションはあんまりよくないよねえ
httpdでどうにかしたいところ
ところでresponceじゃなくてresponseだった恥ずかしい
306: 2018/03/08(木)16:47 ID:??? AAS
>>304
修正前が正解
1-
あと 696 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.027s