草庐IT

apc_exists

全部标签

php - 为什么我的所有文件都没有缓存 apc 操作码?

我正在使用APC(3.1.9)和ZendFramework,但是,只有一堆文件被缓存(大约10/400)。你有什么想法吗?我在debian安装中使用出厂选项。编辑:看起来唯一被opcached的文件是我用require'';手动调用的文件,但是我的自动加载器加载的文件不是。有什么想法吗?运行时设置apc.cache_by_default1apc.canonicalize1apc.coredump_unmap0apc.enable_cli0apc.enabled1apc.file_md50apc.file_update_protection2apc.filtersapc.gc_ttl36

php - 注意 : Use of undefined constant self - assumed 'self' , 当把 property_exists 作为第一个参数时

我正在尝试使用self而不是在propery_exists函数中键入类名,如下所示:privatestaticfunctioninstantiate($record){$user=newself;foreach($recordas$name=>$value){if(isset($user->$name)||property_exists(self,$name)){$user->$name=$value;}}return$user;}但是当我运行这个脚本时出现错误:Notice:Useofundefinedconstantself-assumed'self'in/var/www/phot

php - 我需要清理 file_exists 的输入吗?

我好像找不到引用资料。我假设PHP函数file_exists在linux上使用系统调用,并且这些调用对于任何不包含\0字符的字符串都是安全的,但我想确定一下。有没有人有(最好是非轶事的)关于这方面的信息?如果我不先检查字符串,是否容易受到注入(inject)攻击? 最佳答案 我猜你需要,因为用户可能会输入类似的内容:../../../somewhere_else/some_file并访问他不允许访问的文件。我建议您在php代码中独立生成文件的绝对路径,并通过basename()从用户处获取文件名称|或排除任何包含../的输入,例如:

php - 负载均衡和 APC

我对服务于PHP应用程序的网络服务器设置负载均衡器的场景很感兴趣。负载均衡器后面会有多个带有APC的网络服务器。所有请求都必须通过负载平衡器,然后将其发送到其中一个Web服务器进行处理。我知道memcached应该用于分布式缓存,但我认为让每台机器上的APC缓存缓存诸如应用程序配置和其他对象之类的东西,这些东西在任何服务器上都不会不同产生更好的性能。此应用程序还有一个管理员区域。它也可以通过负载平衡器访问(例如,site.com/admin)。在这种情况下,如何调用apc_clear_cache来清除ALL服务器上的APC对象缓存? 最佳答案

php - APC 对静态内容做了什么

假设我强制mod_php接收.html文件。假设这些文件之一中有0个PHP代码。如果我在启用APC的情况下浏览到该文件,会发生什么情况?它是被缓存还是仍然必须从磁盘读取?另一种情况,我有一个.php文件。PHP标签之外的内容会怎样?它是否存储在内存中?还是每次都要从磁盘读取? 最佳答案 IfIbrowsetothatfilewithAPCenabled,whathappens?Doesitgetcachedordoesitstillhavetobereadfromthedisk?如果你有.html文件设置为解析为PHP,那么是的——

php - include() 是否使用 file_exists() 的缓存?

问题很简单:当涉及到触摸磁盘时,这两个示例是否相等,或者场景#2是否触摸了磁盘两次?场景#1include'/path/to/file.php';场景#2if(file_exists('/path/to/file.php'))include'/path/to/file.php';我知道场景#1接触过磁盘一次。现在,据我了解file_exists()缓存路径以及文件是否存在。为了清除该缓存,您需要调用clearstatcache()。但是include等是否也使用该缓存?还是file_exists()独有? 最佳答案 只有一件小事要提

php - APC Cache 仅使用 32M 内存

这是我的配置extension=apc.soapc.enabled=1apc.shm_size=128Mapc.shm_segments=1apc.gc_ttl=7200apc.ttl=0apc.num_files_hint=1024apc.file_update_protection=2apc.max_file_size=5Mapc.stat_ctime=1apc.mmap_file_mask=/tmp/apc.XXXXXXapc.filter="-/usr/share/phpMyAdmin/.*"APC信息:APC版本3.1.3p1PHP版本5.3.3APC主机.._._(mysi

php - 取消链接/file_exists 和文件未找到

我的应用程序中有这段代码,经常由我的应用程序的多个用户在竞争条件下运行clearstatcache(TRUE,$filepath);if(file_exists($filepath))unlink($filepath);但是,对于这行代码,我每天仍然有几个错误,比如unlink(file):Nosuchfileordirectory服务器运行Apache2.2和PHP5.3.3。我知道种族问题,但认为@运算符是邪恶的。我首先尝试不带任何参数的clearstatcache(),但出现相同的错误。我怎样才能以正确的方式做到这一点? 最佳答案

php - APC - 如何处理 GC 缓存警告?

有时,也许一天一次,我们使用APC的PHPWeb服务器会引发E_WARNING错误,我的错误处理程序会捕获并记录该错误。它看起来类似于:require_once()[function.require-once]:GCcacheentry'/path/file.php'(dev=47775802ino=183046)wasongc-listfor3602seconds-in/path/some_other_file.php(31)这是一个可恢复的错误吗?我应该忽略这些警告吗?我目前已经得到它,所以脚本会在E_WARNINGs上死掉,因为我们希望代码稳定,而且我看到的大多数警告都无法继续(

php - 为什么我不能在 stdClass 上调用 property_exists?

这是我的代码:madeUpProperty="abc";echo$madeUpObject->madeUpProperty;echo"";if(property_exists('stdClass','madeUpProperty')){echo"exists";}else{echo"doesnotexist";}?>输出是:美国广播公司不存在那么为什么这行不通呢? 最佳答案 尝试:if(property_exists($madeUpObject,'madeUpProperty')){指定类名(而不是像我所做的那样的对象)意味着在st