EEDU Blog: 博客 ·  资讯 ·  论坛 ·  留言
登录 新用户? 注册   |  

ahaoxie's blog

订阅博客:

环境生态网站长

阅读全文

Zend 出现 Unable to view file mapping 的解决方案

zend 错误日志中有:Unable to view file mapping, 试图访问无效的地址。
网上搜了下解决方法有

解决方法如下:
对比php两个版本的php.ini文件。
;extension=php_yaz.dll
;extension=php_zip.dll
检查这个两个是否存在新的版本中。
同时确认
extension=php_zip.dll
前面的;去掉保存重启iis和mysql 大功搞成
另外一种说法
eAccelerator v0.9.4-rc1, 这个php加速插件,把这个屏蔽掉就可以了
其他方面:
1.检查下c:\windows\temp\目录是否有iis用户组和NETWORK_SERVICE访问权限
2.zend安装目录是否有iis用户组和NETWORK_SERVICE访问权限,写入权限.
3.删除c:\WINDOWS\temp\ 下的垃圾文件.
4.php.ini文件中设置upload_tmp_dir="c:\windows\temp\"(注意=两边的空格)

5.还有一条就是找不到ZendOptimizer.MemoryBase@SYSTEM文件吧,方法同上面,在c:\WINDOWS\temp\建一空文件,文件名ZendOptimizer.MemoryBase@SYSTEM即可

==================================================================================

查看“事件查看器”中出现一个Zend Optimizer错误,而且这个错误都是每次启动服务器之后产生的:

事件类型: 错误
事件来源: Zend Optimizer
事件种类: 无
事件 ID: 487
日期: 2008-2-28
事件: 9:22:15
用户: N/A
计算机: XXX
描述:
事件 ID ( 487 )的描述(在资源( Zend Optimizer )中)无法找到。本地计算机可能没有必要的注册信息或消息 DLL 文件来从远程计算机显示消息。您可能可以使用

/AUXSOURCE= 标识来检索词描述;查看帮助和支持以了解详细信息。下列信息是事件的一部分: Unable to view file mapping, 试图访问无效的地址。

查阅了一下网上的资料,其实只有一个版本,具体内容可以看下面的参考资料。我这里结合自己的解决方法总结一下:

首先如果你的PHP使用了eAccelerator则将其注释掉就可以了,这是因为Zend Optimizer同eAccelerator相冲突。其实二者都是用于加速PHP程序的,只要使用其中的一个就可以

了。

如果你的PHP没有使用eAccelerator的话则大部分是权限的问题了,这种情况在Apache+PHP中很少见,通常都是在IIS+PHP这种搭配中出现的比较多。这个时候只需要修改%

SystemRoot%\Temp的权限,设置为EveryOne全部允许;然后如果该目录下没有ZendOptimizer.MemoryBase@SYSTEM文件的话就手动新建一个文本文件然后命名为

ZendOptimizer.MemoryBase@SYSTEM即可。

如果还是有问题的话可以查看一下php下的ext目录中是否有php_yaz.dll和php_zip.dll两个文件,有哪一个就在php.ini将 “extension=…”前面的分号去掉。

================================================================================

  前两天在本地调试PHP程序时,发现安装的VertrigoServ中,ZendOptimizer运行不正常,在C盘根目录下生成了个ZendOptimizer_errors文件,最主要的问题是下面两个:

Unable to open base address file:系统找不到指定的路径。
Unable to view file mapping:重叠 I/O 操作在进行中。

  下面分享我的问题核心:出现这样的问题,一般是缓存目录指定错误所导致的!

步骤方法:右击我的电脑 - 属性 - 高级 - 环境变量 - 将用户配置里的TEMP与TMP的路径指定为系统变量里的TEMP与TMP的路径值:如%SystemRoot%\TEMP或者其他路径确定路径,如D:\Temp这个路径确定,重启电脑。

设置好的参考图片如下:

  再次运行php服务器程序,C盘根目录下再不出现ZendOptimizer_errors.txt报告,报告里也不会出现上面的两个错误了,设置好的路径目录下自动生成了ZendOptimizer.MemoryBase@SYSTEM等这两个文件。问题解决!
2009年5月23日补充: 复制内容到剪贴板
代码:
解决办法:
1、修改C:\WINDOWS\Temp\目录的访问权限,使Zend可以对目录进行修改,一般添加IIS_WPG和Network Service的写入权限就够了。
2、有可能在C:\WINDOWS\temp\目录下找不到指定文件,查找该文件夹下是否有文件名ZendOptimizer.MemoryBase@SYSTEMZendOptimizer.MemoryBase@NETWORK SERVICE,如果没有,新建这两个文件,空文件即可。
3、php.ini文件中设置upload_tmp_dir = "c:\windows\temp\"(注意=两边的空格)。
4、还有可能就是没有读取ZEND目录的权限,为C:\Program Files\ZendOptimizer-2.6.2\lib\目录添加IIS_WPG和Network Service的读取权限(注意zend版本和安装目录不同时前面的路径也有所不同)
注意:前面提到的“C:\WINDOWS\Temp\”上当并非绝对,关键看php.ini文件中“upload_tmp_dir”等于什么路径。2009年3月25日补充:
在Windows Server 2003 系统的NTFS的文件系统中,还涉及到访问权限问题,如ZendOptimizer的默认安装目录为C:\Program Files\Zend,我们需要给Zend这个目录添加一个IIS的启动账户IIS_WPG的读取运行,列出目录,读取的权限。这样就能解决因权限导致的Unable to view file mapping错误。

发表于: 2011-08-16 23:01 | 全文(查看: 937) | 评论(0) | 本文地址 | 收藏 
分类: 服务器应用(148)   标签: zend  php  新知  

"Zend 出现 Unable to view file mapping 的解决方案" 的评论: (共 0 条)

你对本文的评论:

登录后再作评论
Page was generated in 16 milliseconds