报错:require_once cannot allocate memory----php,以前自己弄的稍微有点特殊的开发环境

最近出现过一个问题,值得记录

类似于这样的报错的问题:

Warning: require_once(/www/app/somecomponent.php): failed to open stream: Cannot allocate memory in /www/app/loader.php on line 130

 

Fatal error: require_once(): Failed opening required '/www/app/somecomponent.php' (include_path='.:/usr/local/php/lib/php') in /www/app/loader.php on line 130

提示无法分配内存,无法打开文件

我的环境是在虚拟机建立了一个Centos6.5系统,并且在那里挂载我的Windows7桌面版的其中一个用户的共享目录,在那个目录进行开发

在无法分配内存时,我尝试过设置/etc/php.ini 的memory_limit (内存限制)设置,从128增加到256,还是报错,而且我的虚拟机空闲内存是够的,我还特别为它配置的是2G内存。

而一般无法打开文件,一般是权限问题,或者文件不存在,然后这些我通过root并且重新更改权限,并且通过ls判断文件的路径是否正确,都确定权限和文件位置都是非常正确的

那么为什么会出现问题呢?

后来发现,原来是这样:

It turns out this was a problem with my windows share. Perhaps because Windows 7 is a client OS, it is not tuned to serve large amounts of files frequently (which is happening in my case).

To fix, set the following keys in the registry

原来,这是Windows共享的问题,windows7旗舰版是为桌面用户提供的良好体验系统,在针对共享这个问题方面,并没有去调整共享文件的频繁大量读取

所以需要自己去注册表修改:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementLargeSystemCache 默认为0 修改为1

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesLanmanServerParametersSize    默认为1 修改为3

籍此得出结论,作为一名开发者,配置的开发系统一定要是适合开发的系统,这样才好保证一些环境下的问题。

原文地址:https://www.cnblogs.com/rootarvin/p/4711565.html