PHP代码更改后需要Apache重启

当我更改应用程序的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的一个漂亮的股票Ubuntuconfiguration。 我只安装了mod_itk并创build了一些vritualhosts。

有任何想法吗?

 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加速器,XCache或类似的地方,像Varnishcaching的东西或一些其他的黑魔法,你不会透露我们的前端caching。

对于像XCache这样的caching,请参阅他们的手册如何操作。

对于像Varnish这样的前端caching,请参阅其手册。

除此之外,很难想象究竟是什么caching你的东西。

apc.stat选项已closures。

 apc.stat Off Off 

在这种情况下,APC将不会重新读取caching的文件。

该文件指出:

如果此设置处于closures状态,则APC将不检查,通常意味着要强制APC重新检查文件,必须重新启动Web服务器,否则必须手动清除caching。

为避免重新启动Web服务器,请通过让Web服务器提供仅包含以下内容的PHP脚本来手动清除caching :

 apc_clear_cache();