Apache-2.2

php程式碼更改後需要重新啟動Apache

  • August 28, 2013

當我更改應用程序的 php 程式碼時,我需要重新啟動 apache 以使新程式碼生效。

$ sudo apachectl -l
Compiled in modules:
 core.c
 mod_log_config.c
 mod_logio.c
 itk.c
 http_core.c
 mod_so.c

它是 Apache 的一個漂亮的 Ubuntu 配置。我只安裝了 mod_itk 並創建了一些虛擬主機。

有任何想法嗎?

APC Support enabled
Version 3.1.7
APC Debugging   Disabled
MMAP Support    Enabled
MMAP File Mask  no value
Locking type    pthread mutex Locks
Serialization Support   php
Revision    $Revision: 307215 $
Build Date  May 2 2011 19:00:42

Directive   Local Value Master Value
apc.cache_by_default    On  On
apc.canonicalize    On  On
apc.coredump_unmap  Off Off
apc.enable_cli  Off Off
apc.enabled On  On
apc.file_md5    Off Off
apc.file_update_protection  2   2
apc.filters no value    no value
apc.gc_ttl  3600    3600
apc.include_once_override   Off Off
apc.lazy_classes    Off Off
apc.lazy_functions  Off Off
apc.max_file_size   1M  1M
apc.mmap_file_mask  no value    no value
apc.num_files_hint  1000    1000
apc.preload_path    no value    no value
apc.report_autofilter   Off Off
apc.rfc1867 Off Off
apc.rfc1867_freq    0   0
apc.rfc1867_name    APC_UPLOAD_PROGRESS APC_UPLOAD_PROGRESS
apc.rfc1867_prefix  upload_ upload_
apc.rfc1867_ttl 3600    3600
apc.serializer  default default
apc.shm_segments    1   1
apc.shm_size    32M 32M
apc.slam_defense    On  On
apc.stat    Off Off
apc.stat_ctime  Off Off
apc.ttl 0   0
apc.use_request_time    On  On
apc.user_entries_hint   4096    4096
apc.user_ttl    0   0
apc.write_lock  On  On

您沒有列出我們的 PHP 模組。你很可能有 PHP Accelerator、XCache 或類似的東西,前端記憶體,如 Varnish 記憶體或其他一些你不會透露給我們的黑魔法。

對於 XCache 等記憶體,請參見其手冊如何操作。

對於 Varnish 等前端記憶體,請參見其手冊。

除此之外,很難想像究竟是什麼在記憶體你的東西。

apc.stat選項已關閉。

apc.stat    Off Off

在這種情況下,APC 永遠不會重新讀取記憶體的文件。

文件指出:

如果此設置關閉,APC 將不檢查,這通常意味著要強制 APC 重新檢查文件,必須重新啟動 Web 伺服器或手動清除記憶體。

為避免重新啟動 Web 伺服器,請通過讓 Web 伺服器提供僅包含以下內容的 PHP 腳本來手動清除記憶體:

apc_clear_cache();

引用自:https://serverfault.com/questions/534410