2013-05-22 3 views
12

サーバー上で(SFTP経由などで)どこかで処理されている間にphpファイルを上書きすると(おそらくcompeleteに数秒かかるスクリプトでしょう)、現在実行中のスクリプトを取り消しますか?上書きが発生しますか?私は尋ねていると思います:それを実行する前に、PHPのスクリプトをメモリにロードします(そして、実行中にメモリ内に保持しますか?)PHPスクリプトが実行中にPHPスクリプトを編集するとどうなりますか?

+2

は、お使いのプラットフォームによって異なります。 Windowsは、使用中/実行中のファイルをロックする傾向があります。 Unix-ishプラットフォームはより寛容で、ファイルの使用中にファイルを削除/置換することができますが、新しいファイルのみが新しいファイルを参照し、すでに実行されているファイルは引き続き表示されません。 –

答えて

17

apacheはPHPスクリプトを実行する前にメモリにロードします(実行中はそのメモリを保持します)。

はい。

+4

また、サーバーにAPCキャッシュが有効で、TTLとガベージコレクションの設定があるかどうかによって異なります。次に、追加のキャッシュを持つロードバランサの後ろにいる場合は、そこに遅れがあるかもしれません。しかし、ほとんどの場合、キャッシュされており、その場所で編集しても効果がありません。テキストエディタは、ディスクに書き込まれるまで、技術的にファイルをメモリに入れています。 – Ligemer

+1

スクリプトがコマンドラインで実行されている場合はどうなりますか?私はそれがまだ実行中の間メモリにロードされていると思いますか? – kalenjordan

6

何もありません。スクリプトはすでにコンパイルされた状態でメモリにロードされています。時間がかかっても、ページを更新しない限り、Webサーバーは新しいファイルをロードしません。

関連する問題