当前位置: 操作系统/服务器>linux
本页文章导读:
▪访问php时提示内存位置访问无效的解决办法和思路分析
我们就需要找到是哪一个DLL文件加载出现了问题。排查方法是: 将php.ini中 display_startup_errors = Off 改为display_startup_errors = On 。 这是访问php页面,服务器上会弹出php错误的提示对话框,你就.........
▪iis Service Unavailable解决方法(权限问题)
通过下面的方法解决了,希望碰到这个问题的朋友可以参考下。如果不行看以前发布的文章。0. 测试环境 Windows Server 2003,IIS 6.0,Visual Studio 2005,.NET Framework 2.0,ASP.NET 2.0,MySQL 1. 现象描述 .........
▪WINDOWS + WAMP + Zend Framework 配置步骤分享
WINDOWS 下WAMP环境下 的 Zend Framework 配置 1,安装WampServer 下载WAMPSERVER并安装,在本例中,安装在C:\wamp下。 2 安装Zend Framework 解压缩 Zend Framework 压缩包中 \library\ 至 C:\wamp\library (这里面没有li.........
[1]访问php时提示内存位置访问无效的解决办法和思路分析
来源: 互联网 发布时间: 2013-12-24
我们就需要找到是哪一个DLL文件加载出现了问题。排查方法是:
将php.ini中 display_startup_errors = Off 改为display_startup_errors = On 。
这是访问php页面,服务器上会弹出php错误的提示对话框,你就可以明确看到是哪一个dll文件加载失败,有时会有多个dll文件加载失败,需要你先分号(;)注释掉php.ini中提示那个dll后继续访问如此反复排查。
把出问题的dll都用分号(;)注释掉后,php就可以正常运行了。
如果加载失败的dll是你必须使用的扩展库文件,那么就要从版本是否对应、文件是否齐全、文件是否已损坏等等方面去排查加载失败的原因了。不同的扩展具有不同的情况,这里就无法一一罗列了,记住:搜索引擎是你最好的帮手,针对单个dll去搜索解决的方法吧。
另外:新版本的Windows版本PHP,在出现错误时,会将详细的错误信息自动存储到Windows系统的TEMP临时目录,文件名为:php-errors.log。在Windows2003系统中路径一般是:C:\WINDOWS\Temp\php-errors.log。用记事本打开这个文件,就可以看到详细的php错误记录了。
此处往下是从网上转载的内容:
客户一个PHP网站每天早上都访问不了,提示“内存位置访问无效”,重启IIS无效,要重启服务器才能暂时正常,过一会儿又是出现这个“内存位置访问无效”的提示。
到百度上搜索了一下,找到解决方法,在此记录一下:
打开c:\windows\php.ini文件,搜索下面的字段
extension=php_exif.dll
找到后在前面加一个;分号注释掉
如下:
;extension=php_exif.dll
保存重启iis再访问一下php文件看看能否打开了,没有出现内存位置访问无效了。
以上操作实际上是把php_exif.dll组件禁用了。如果一定要用到这个组件可以试试下面这个方法:
一、将IIS的错误显示打开,未发现错误原因
二、检查IIS扩展,ISAPI、php.ini与Mysql配置以及相应的安装目录ACLs权限,均无误。
三、回收IIS进程,错误仍然出现”内存位置访问无效”….
四、将php.ini中 display_startup_errors = On 打开,问题所在终于发现了… (注:如果将php.ini的display_startup_errors打开,如果php有错误出理,就会提示,而且 在事件查看器中有记录。如果设置为display_startup_errors = Off,则不会有任何提示)
五、Warning Cannot load module ‘SQLite' because required module ‘pdo' is no loaded
六、根据以上错误提示,解决办法就很简单了,因为加载php_sqlite.dll时未加载到php_pdo.dll文件,所以运行phpinfo()函数时提示内存 位置访问无效。
找到php.ini配置文件,然后去掉”;extension=php_pdo.dll”前面的分号,extension=php_sqlite.dll
然后再回收一下IIS应用程序池进程,问题彻底解决….
将php.ini中 display_startup_errors = Off 改为display_startup_errors = On 。
这是访问php页面,服务器上会弹出php错误的提示对话框,你就可以明确看到是哪一个dll文件加载失败,有时会有多个dll文件加载失败,需要你先分号(;)注释掉php.ini中提示那个dll后继续访问如此反复排查。
把出问题的dll都用分号(;)注释掉后,php就可以正常运行了。
如果加载失败的dll是你必须使用的扩展库文件,那么就要从版本是否对应、文件是否齐全、文件是否已损坏等等方面去排查加载失败的原因了。不同的扩展具有不同的情况,这里就无法一一罗列了,记住:搜索引擎是你最好的帮手,针对单个dll去搜索解决的方法吧。
另外:新版本的Windows版本PHP,在出现错误时,会将详细的错误信息自动存储到Windows系统的TEMP临时目录,文件名为:php-errors.log。在Windows2003系统中路径一般是:C:\WINDOWS\Temp\php-errors.log。用记事本打开这个文件,就可以看到详细的php错误记录了。
此处往下是从网上转载的内容:
客户一个PHP网站每天早上都访问不了,提示“内存位置访问无效”,重启IIS无效,要重启服务器才能暂时正常,过一会儿又是出现这个“内存位置访问无效”的提示。
到百度上搜索了一下,找到解决方法,在此记录一下:
打开c:\windows\php.ini文件,搜索下面的字段
extension=php_exif.dll
找到后在前面加一个;分号注释掉
如下:
;extension=php_exif.dll
保存重启iis再访问一下php文件看看能否打开了,没有出现内存位置访问无效了。
以上操作实际上是把php_exif.dll组件禁用了。如果一定要用到这个组件可以试试下面这个方法:
一、将IIS的错误显示打开,未发现错误原因
二、检查IIS扩展,ISAPI、php.ini与Mysql配置以及相应的安装目录ACLs权限,均无误。
三、回收IIS进程,错误仍然出现”内存位置访问无效”….
四、将php.ini中 display_startup_errors = On 打开,问题所在终于发现了… (注:如果将php.ini的display_startup_errors打开,如果php有错误出理,就会提示,而且 在事件查看器中有记录。如果设置为display_startup_errors = Off,则不会有任何提示)
五、Warning Cannot load module ‘SQLite' because required module ‘pdo' is no loaded
六、根据以上错误提示,解决办法就很简单了,因为加载php_sqlite.dll时未加载到php_pdo.dll文件,所以运行phpinfo()函数时提示内存 位置访问无效。
找到php.ini配置文件,然后去掉”;extension=php_pdo.dll”前面的分号,extension=php_sqlite.dll
然后再回收一下IIS应用程序池进程,问题彻底解决….
[2]iis Service Unavailable解决方法(权限问题)
来源: 互联网 发布时间: 2013-12-24
通过下面的方法解决了,希望碰到这个问题的朋友可以参考下。如果不行看以前发布的文章。
0. 测试环境
Windows Server 2003,IIS 6.0,Visual Studio 2005,.NET Framework 2.0,ASP.NET 2.0,MySQL
1. 现象描述
1)访问网站出现“Service Unavailable”错误
2)查看IIS中的应用程序池出现被自动禁用情况
3)计算机管理 - 系统工具 - 事件查看器 - 应用程序:出现错误(来源:.NET Runtime 2.0,类型:错误,事件ID:1000,描述:Faulting application w3wp.exe, version 6.0.3790.3959, stamp 45d6968e, faulting module kernel32.dll, version 5.2.3790.4480, stamp 49c51ee2, debug? 0, fault address 0x0000bef7.)
4)计算机管理 - 系统工具 - 事件查看器 - 系统:出现错误(来源:W3SVC,类型:错误,事件ID:1002,描述:应用程序池 'ASP.NET V2.0' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误)
2. 解决方案
给用户NETWORK SERVICE加上访问IIS服务的权限
开始 - 控制面板 - 管理工具 - 组件服务 - 计算机 - 我的电脑 - DCOM - IIS ADMIN SERVICE - 属性 - 安全 - 启动和激活权限 - 自定义 - 添加帐号“NETWORK SERVICE”,给该帐号赋予“本地启动”和“本地激活”的权限 - 在cmd下输入“IISRESET”命令(不含引号)重新启动IIS
0. 测试环境
Windows Server 2003,IIS 6.0,Visual Studio 2005,.NET Framework 2.0,ASP.NET 2.0,MySQL
1. 现象描述
1)访问网站出现“Service Unavailable”错误
2)查看IIS中的应用程序池出现被自动禁用情况
3)计算机管理 - 系统工具 - 事件查看器 - 应用程序:出现错误(来源:.NET Runtime 2.0,类型:错误,事件ID:1000,描述:Faulting application w3wp.exe, version 6.0.3790.3959, stamp 45d6968e, faulting module kernel32.dll, version 5.2.3790.4480, stamp 49c51ee2, debug? 0, fault address 0x0000bef7.)
4)计算机管理 - 系统工具 - 事件查看器 - 系统:出现错误(来源:W3SVC,类型:错误,事件ID:1002,描述:应用程序池 'ASP.NET V2.0' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误)
2. 解决方案
给用户NETWORK SERVICE加上访问IIS服务的权限
开始 - 控制面板 - 管理工具 - 组件服务 - 计算机 - 我的电脑 - DCOM - IIS ADMIN SERVICE - 属性 - 安全 - 启动和激活权限 - 自定义 - 添加帐号“NETWORK SERVICE”,给该帐号赋予“本地启动”和“本地激活”的权限 - 在cmd下输入“IISRESET”命令(不含引号)重新启动IIS
[3]WINDOWS + WAMP + Zend Framework 配置步骤分享
来源: 互联网 发布时间: 2013-12-24
WINDOWS 下WAMP环境下 的 Zend Framework 配置
1,安装WampServer
下载WAMPSERVER并安装,在本例中,安装在C:\wamp下。
2 安装Zend Framework
解压缩 Zend Framework 压缩包中 \library\ 至 C:\wamp\library (这里面没有library目录,要自己建一个)
3 开启支持rewrite module
编辑 httpd.conf。
- 编辑 C:\wamp\bin\apache\Apache2.2.10\conf\httpd.conf 文件。或
- 右击托盘里WampServer小图标 --> Apache --> httpd.conf
# LoadModule rewrite_module modules/mod_rewrite.so
去掉 '#',改为:
LoadModule rewrite_module modules/mod_rewrite.so
4 PHP library 设置
- 编辑 C:\wamp\bin\php\php5.2.7\php.ini,或
- 右击托盘里WampServer小图标 --> PHP --> php.ini
; Windows: "\path1;\path2"
; include_path = ".;c:\php\includes"
去掉 ';',并且加上Zend Framework 压缩包安装路径,改为:
; Windows: "\path1;\path2" (这里的分号没有去掉)
include_path = ".;c:\php\includes;c:\wamp\library;"
5. 生产quickstart项目
Windows开始菜单点击运行,输入"CMD",打开Dos命令窗口,
运行命令:"set path=%path%;C:\wamp\bin\php\php5.2.9-2;"注册php.exe的路径
运行命令:"cd C:\wamp\www",将当前路径切换到WAMP的网站文档www路径
运行命令:"ZendStudio\ZendFramework-1.8.1\bin\zf.bat create project quickstart
注意将zf.bat的路径换成你自己的路径,稍候,zf.bat建立quickstart项目:"Creating project at C:/wamp/www/quickstart"
6. 测试示例项目
打开浏览器,浏览"http://localhost/quickstart/public/",可以看见"Welcome to the Zend Framework!"的页面了。(如果没有显示请重启wmap)
1,安装WampServer
下载WAMPSERVER并安装,在本例中,安装在C:\wamp下。
2 安装Zend Framework
解压缩 Zend Framework 压缩包中 \library\ 至 C:\wamp\library (这里面没有library目录,要自己建一个)
3 开启支持rewrite module
编辑 httpd.conf。
- 编辑 C:\wamp\bin\apache\Apache2.2.10\conf\httpd.conf 文件。或
- 右击托盘里WampServer小图标 --> Apache --> httpd.conf
# LoadModule rewrite_module modules/mod_rewrite.so
去掉 '#',改为:
LoadModule rewrite_module modules/mod_rewrite.so
4 PHP library 设置
- 编辑 C:\wamp\bin\php\php5.2.7\php.ini,或
- 右击托盘里WampServer小图标 --> PHP --> php.ini
; Windows: "\path1;\path2"
; include_path = ".;c:\php\includes"
去掉 ';',并且加上Zend Framework 压缩包安装路径,改为:
; Windows: "\path1;\path2" (这里的分号没有去掉)
include_path = ".;c:\php\includes;c:\wamp\library;"
5. 生产quickstart项目
Windows开始菜单点击运行,输入"CMD",打开Dos命令窗口,
运行命令:"set path=%path%;C:\wamp\bin\php\php5.2.9-2;"注册php.exe的路径
运行命令:"cd C:\wamp\www",将当前路径切换到WAMP的网站文档www路径
运行命令:"ZendStudio\ZendFramework-1.8.1\bin\zf.bat create project quickstart
注意将zf.bat的路径换成你自己的路径,稍候,zf.bat建立quickstart项目:"Creating project at C:/wamp/www/quickstart"
6. 测试示例项目
打开浏览器,浏览"http://localhost/quickstart/public/",可以看见"Welcome to the Zend Framework!"的页面了。(如果没有显示请重启wmap)
最新技术文章: