我的目标是为drupal 6生产站点实施APC操作码缓存。 到目前为止,我已经用几个php文件测试了APC,包含和不包含带有include_once的其他php文件。
还尝试调整shm_size,apc.include_once_override和apc.stat的apc.ini值。 每次重启apache。
导致apc.php没有显示任何值的任何变化。 (当然,改变的apc.ini值显示为应该显示)
每次刷新apc.php测试页时,开始时间都会重置为显示正常运行时间0分钟的当前时间。
apc.php -testpage显示:
General Cache InformationAPC Version 3.1.9
PHP Version 5.2.10
APC Host xxxx.xx.xx
Server Software Apache/2.2.3 (CentOS)
Shared Memory 1 Segment(s) with 128.0 MBytes
(mmap memory, pthread mutex Locks locking)
Start Time 2011/07/26 11:53:56
Uptime 0 minutes
File Upload Support 1
Cached Files 0 ( 0.0 Bytes)
Hits 1
Misses 1
Request Rate (hits, misses) 2.00 cache requests/second
Hit Rate 1.00 cache requests/second
Miss Rate 1.00 cache requests/second
Insert Rate 0.00 cache requests/second
Cache full count 0
Cached Variables 0 ( 0.0 Bytes)
Hits 0
Misses 0
Request Rate (hits, misses) 0.00 cache requests/second
Hit Rate 0.00 cache requests/second
Miss Rate 0.00 cache requests/second
Insert Rate 0.00 cache requests/second
Cache full count 0
apc.cache_by_default 1
apc.canonicalize 1
apc.coredump_unmap 0
apc.enable_cli 0
apc.enabled 1
apc.file_md5 0
apc.file_update_protection 2
apc.filters
apc.gc_ttl 3600
apc.include_once_override 0
apc.lazy_classes 0
apc.lazy_functions 0
apc.max_file_size 16
apc.mmap_file_mask /tmp/apcphp5.095eRm
apc.num_files_hint 1024
apc.preload_path
apc.report_autofilter 0
apc.rfc1867 0
apc.rfc1867_freq 0
apc.rfc1867_name APC_UPLOAD_PROGRESS
apc.rfc1867_prefix upload_
apc.rfc1867_ttl 3600
apc.serializer default
apc.shm_segments 1
apc.shm_size 128M
apc.slam_defense 0
apc.stat 0
apc.stat_ctime 0
apc.ttl 7200
apc.use_request_time 1
apc.user_entries_hint 4096
apc.user_ttl 7200
apc.write_lock 1
Host Status Diagrams:
Free: 128.0 MBytes (100.0%) Hits: 1 (50.0%)
Used: 20.3 KBytes (0.0%) Misses: 1 (50.0%)
Detailed Memory Usage and Fragmentation:
Fragmentation: 0%
phpinfo显示:
Server API CGI/FastCGI
APC:
Version 3.1.9
APC Debugging Enabled
MMAP Support Enabled
MMAP File Mask /tmp/apcphp5.JkKDk7
Locking type pthread mutex Locks
Serialization Support php
Revision $Revision: 308812 $
Build Date Jul 21 2011 14:31:12
我按照以下步骤查找suexec设置是否会阻止缓存: http://www.litespeedtech.com/support/forum/showthread.php?t=4189
[root@host /]# ps -ef|grep lsphp
root 20402 17833 0 11:21 pts/0 00:00:00 grep lsphp
[root@host /]# ps -waux
root 17833 0.0 0.1 5004 1484 pts/0 S 10:39 0:00 bash
..表示主机上没有运行lsphp
我还阅读了以下文章和评论,得出的结论是,在我的情况下问题不是suexec,因为用户apache是httpd进程所有者 http://www.brandonturner.net/blog/2009/07/fastcgi_with_php_opcode_cache/
当记录并以root @ host
作为launced时,无法识别suexec命令我也几乎确信主机上没有运行cPanel来检查那里的设置是否会以某个间隔重置正在运行的缓存进程
这让我几乎找不到下一步的线索。 我试图设置(使用chown和chgrp)apache作为apc.php文件的所有者和一些测试php文件导致500服务器错误。
有没有办法检查文件权限是否阻止apc保持运行? 我非常感谢任何建议或帮助。
答案 0 :(得分:0)
你能为APC提供你的php.ini设置吗?
您必须重新启动httpd才能将设置更改考虑在内。
尝试更改最大文件大小
apc.max_file_size = 20M
你正在使用128M的ram,对于像我们今天这样的大型php应用程序来说它是相当低的(单个wordpress使用32M)
apc.shm_size 128M
也增加它