`
txf2004
  • 浏览: 6888558 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

修复一个 PHP 配置故障

阅读更多

故障现象:

在 Windows Server 2003+IIS6.0 环境下,原先配置好的 PHP5.0.4 可以正常工作。但在同一台机器上,Apache2.2.8+PHP5.2.5下正常运行的代码,在 IIS 下不能正确执行 exec() 函数。比如,exec(’cd’,$arr,$ret) 语句,其执行结果,$arr 数组的值应该是包含该语句的 php 文件做在的 Windows 路径,但结果却是“C:\Windows”文件夹。并且不能正确执行其他外部 exe 程序。

诊断:

IIS 配置里,已经开放 isapi 扩展允许。
Windows\system32\cmd.exe 已经加过 IUSR_… 账户权限。
要执行的外部 exe 程序,已经拷贝到 Windows\system32 文件夹下,也已经加过 IUSR_… 账户权限。
网站所在的文件夹,已经赋予 IUSR_… 账户权限。

怀疑是 PHP 版本过低,或哪里权限不够导致该问题。

(1)升级 PHP5.0.4 到 5.2.5
Windows 的全局 Path 变量配置指向 PHP5.2.5 文件夹。PHP5.2.5 的 php.ini 文件拷贝到 Windows 文件夹下。网站的 .php 映射指向到 PHP5.2.5 文件夹下的 php5isapi.dll。重启 IIS 后,打开网站,弹出一个提示框,提示需要输入用户名和密码,输入 Windows 的 Administrator 账户和密码后,仍不能打开网站。
这时想到,给网站所在文件夹加上 User 账户的读取和执行权限试一下。执行该操作后,不再弹出要求账户和密码的对话框,可以打开网站的下级页面(这一步至关重要)。但不能打开首页,可能是因为首页调用了数据库连接的原因。这时能打开测试 exec() 函数的 php 页面,结果仍然不正确。
这时怀疑是已经起作用的 PHP5.0.4 的文件和 5.2.5 相冲突。果然,在 Windows\system32 文件夹下发现原 5.0.4 的所有 .dll 文件,包括 PHP5.0.4 文件夹下和 PHP5.0.4\ext 下的 .dll 文件,都被拷贝到了这里!(注意,这不是必须的,是听信某些“教程”的教唆而这么做的。但既然拷贝到了这里,可能已经其作用了。)于是,把 IIS 和 Apache 服务关闭,把 PHP5.2.5 的所有 dll 文件也拷贝到这里(入乡随俗、如法炮制)。再启动机器–启动机器是因为让 Windows 重新加载最新的 .dll 文件。这时,PHP 因该是全套升级到了 5.2.5 版本了。

启动机器后,报错“No input file specified”,看来有门,因为错误信息已经变化了,说明前述的配置在生效了。在网上搜索产生该错误信息的原因,提示“在 IIS 的 ISAPI 模式下出现‘No input file specified’信息,只要把 php.ini 里的 doc_root = ……注释掉就可以了”,照此提示,在 php.ini 里的 doc_root = …… 语句前加个分号,注释掉语句,再重新启动 IIS。全好了!

注意, doc_root = …… 语句在 php.ini 里一般是“doc_root =”,就是值是空的。但因为我的 php.ini 文件是从与 Apache 配合的 PHP 文件夹拷贝过来的,可能在安装 Apache 时,Apache 赋了一个值。其实把该值设为空的,应该和和注释掉的效果相同。这里不是关键的地方,仅仅是一个小插曲而已。

结论:

问题解决了。但不能确定是因为给网站所在文件夹加上了 User 账户的权限,还是因为升级 PHP,而导致问题的解决的。总之,肯定是上述2个操作的某一把问题解决了,但不能确定是哪一个?应该不是因为2个操作同时起作用的吧,感觉不是,没有理由。

还有一个收获,就是,Windows 很多问题是因为权限配置引起的,所以,告诫那些外行系统管理员,请不要随便加上或去除文件夹的的权限,从而引起系统的安全性降低和意外故障。再注意,配置系统也要做好记录,并及时测试该配置结果对系统的影响,不要哪天发现系统不对劲,还不知道是哪个配置引起的。

张庆(网眼) 2009-7-3
来自“网眼视界”:http://blog.why100000.com
“十万个为什么”电脑学习网:http://www.why100000.com

分享到:
评论

相关推荐

    python源码期末大作业基于opencv+TensorFlow的人脸识别+数据集+详细代码解释(期末大作业项目).rar

    本项目基于OpenCV和TensorFlow实现了一个功能完善的人脸识别系统,并附赠了详细的数据集与代码注释。对于计算机专业的学生、教师或企业员工而言,这无疑是一份极具价值的参考资料,尤其适合那些在人工智能、通信工程、自动化及软件工程领域寻求提升的学习者。 项目涵盖了从图像预处理到模型训练、评估及实际应用的全过程。利用OpenCV的强大图像处理能力,对人脸进行精准定位与特征提取;再结合TensorFlow的深度学习框架,构建并训练出高效的人脸识别模型。此外,项目还精心准备了详尽的数据集,确保模型的训练效果。 代码部分,每一行都有详尽的注释,旨在帮助读者快速理解并掌握核心算法。无论是人脸识别的初学者,还是希望在此基础上进一步研究的开发者,都能从中获得宝贵的启示。 经过严格的测试,本项目的各项功能均运行正常,表现出色。请放心下载使用,相信它将成为您课程设计或毕业设计的得力助手,助您在学术与职业道路上取得更高的成就。

    C语言超市管理系统.zip

    C语言超市管理系统.zip

    apktool版本2.9.0

    apktool版本2.9.0

    1716134031000637_forchheimer_flow.zh_CN.mph

    1716134031000637_forchheimer_flow.zh_CN.mph

    免开3d场景直接清除3d病毒的插件-3d巡警V1.01

    可以直接不打开3d场景就能查杀3d文件的病毒3dsmax杀毒插件。 提供全盘+指定位置查杀的扫描方式,识别各种3d病毒,例如ALC、CRP、ADSL、西山居、MFX以及各种嵌入 广告,通过最新的3dsmax极速检测技术,能高效清除3d场景中的病毒。无论是专业设计师还是普通用户, 都不用担心3d文件再被破坏。

    13.py

    13.py

    python数据分析实例 python数据分析实例(源码)

    python数据分析实例 python数据分析实例(源码) # python数据分析 #### 介绍 python数据可视化例子 ##### 1.SARIMAX模型对公路车流量预测 ##### 2.古诗词云统计 ##### 3.对大数据岗位可视化分析

    Matlab mtd的8通道算法。附带高斯白噪声、多普勒频移的动目标回波.zip

    Matlab mtd的8通道算法。附带高斯白噪声、多普勒频移的动目标回波.zip

    网页爱心特效 HTML5+jQuery制作温馨浪漫爱心表白动画特效.zip

    网页爱心特效 HTML5+jQuery制作温馨浪漫爱心表白动画特效.zip

    要安装NumPy,你可以使用Python的包管理器pip

    numpy 要安装NumPy,你可以使用Python的包管理器pip

    php在线加密网站源码.zip

    压缩包里有多少个php就会被加密多少个PHP、php无需安装任何插件。 如果上传的压缩包里有子文件夹(子文件夹里的php文件也会被加密),加密后的压缩包需要先修复一下,步骤:打开压缩包 =》 工具 =》 修复压缩文件

    Vue+element ui +mongodb+express的网上书城系统

    后台管理系统是基于element ui框架开发的,实现了一个web网上书城系统 实现了后端商品管理界面设计功能。element ui 的优点在于可以方便的开发出功能丰富而且美观的后台管理界面,不需要写很多的CSS代码就可以实现布局,因为框架的开发就在于对代码的封装,而使用框架开发就只需要调用就好。

    Using Docker

    Using Docker

    传统的基于用户的协同过滤推荐算法实现.zip

    协同过滤算法(Collaborative Filtering)是一种经典的推荐算法,其基本原理是“协同大家的反馈、评价和意见,一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。它主要依赖于用户和物品之间的行为关系进行推荐。 协同过滤算法主要分为两类: 基于物品的协同过滤算法:给用户推荐与他之前喜欢的物品相似的物品。 基于用户的协同过滤算法:给用户推荐与他兴趣相似的用户喜欢的物品。 协同过滤算法的优点包括: 无需事先对商品或用户进行分类或标注,适用于各种类型的数据。 算法简单易懂,容易实现和部署。 推荐结果准确性较高,能够为用户提供个性化的推荐服务。 然而,协同过滤算法也存在一些缺点: 对数据量和数据质量要求较高,需要大量的历史数据和较高的数据质量。 容易受到“冷启动”问题的影响,即对新用户或新商品的推荐效果较差。 存在“同质化”问题,即推荐结果容易出现重复或相似的情况。 协同过滤算法在多个场景中有广泛的应用,如电商推荐系统、社交网络推荐和视频推荐系统等。在这些场景中,协同过滤算法可以根据用户的历史行为数据,推荐与用户兴趣相似的商品、用户或内容,从而提高用户的购买转化率、活跃度和社交体验。 未来,协同过滤算法的发展方向可能是结合其他推荐算法形成混合推荐系统,以充分发挥各算法的优势。

    毕业设计[主机域名]PHP+AJAX的whois查询程序_whois.zip

    毕业设计[主机域名]PHP+AJAX的whois查询程序_whois.zip

    基于Python实现了基于物品的协同过滤推荐算法和基于用户的协同过滤推荐算法.zip

    协同过滤算法(Collaborative Filtering)是一种经典的推荐算法,其基本原理是“协同大家的反馈、评价和意见,一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。它主要依赖于用户和物品之间的行为关系进行推荐。 协同过滤算法主要分为两类: 基于物品的协同过滤算法:给用户推荐与他之前喜欢的物品相似的物品。 基于用户的协同过滤算法:给用户推荐与他兴趣相似的用户喜欢的物品。 协同过滤算法的优点包括: 无需事先对商品或用户进行分类或标注,适用于各种类型的数据。 算法简单易懂,容易实现和部署。 推荐结果准确性较高,能够为用户提供个性化的推荐服务。 然而,协同过滤算法也存在一些缺点: 对数据量和数据质量要求较高,需要大量的历史数据和较高的数据质量。 容易受到“冷启动”问题的影响,即对新用户或新商品的推荐效果较差。 存在“同质化”问题,即推荐结果容易出现重复或相似的情况。 协同过滤算法在多个场景中有广泛的应用,如电商推荐系统、社交网络推荐和视频推荐系统等。在这些场景中,协同过滤算法可以根据用户的历史行为数据,推荐与用户兴趣相似的商品、用户或内容,从而提高用户的购买转化率、活跃度和社交体验。 未来,协同过滤算法的发展方向可能是结合其他推荐算法形成混合推荐系统,以充分发挥各算法的优势。

    Euclidean;Pearson;Tanimoto;基于用户的协同过滤;基于物品的协同过滤;.zip

    协同过滤算法(Collaborative Filtering)是一种经典的推荐算法,其基本原理是“协同大家的反馈、评价和意见,一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。它主要依赖于用户和物品之间的行为关系进行推荐。 协同过滤算法主要分为两类: 基于物品的协同过滤算法:给用户推荐与他之前喜欢的物品相似的物品。 基于用户的协同过滤算法:给用户推荐与他兴趣相似的用户喜欢的物品。 协同过滤算法的优点包括: 无需事先对商品或用户进行分类或标注,适用于各种类型的数据。 算法简单易懂,容易实现和部署。 推荐结果准确性较高,能够为用户提供个性化的推荐服务。 然而,协同过滤算法也存在一些缺点: 对数据量和数据质量要求较高,需要大量的历史数据和较高的数据质量。 容易受到“冷启动”问题的影响,即对新用户或新商品的推荐效果较差。 存在“同质化”问题,即推荐结果容易出现重复或相似的情况。 协同过滤算法在多个场景中有广泛的应用,如电商推荐系统、社交网络推荐和视频推荐系统等。在这些场景中,协同过滤算法可以根据用户的历史行为数据,推荐与用户兴趣相似的商品、用户或内容,从而提高用户的购买转化率、活跃度和社交体验。 未来,协同过滤算法的发展方向可能是结合其他推荐算法形成混合推荐系统,以充分发挥各算法的优势。

    愚蠢小熊猫.txt愚蠢小熊猫.txt愚蠢小熊猫.txt

    愚蠢小熊猫

    Bootstrap By Example.zip

    Bootstrap By Example.zip

    java图片浏览小程序(java+applet).zip

    java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)

Global site tag (gtag.js) - Google Analytics