PHP文件不在Windows机器中执行

Posted

技术标签:

【中文标题】PHP文件不在Windows机器中执行【英文标题】:PHP files does not execute in windows machine 【发布时间】:2012-01-11 17:58:22 【问题描述】:

我在我的 mac osx 上用 php 创建了应用程序。开发完成后,我压缩并转移到 Windows 7 机器上。当我尝试打开它时,我得到了这个错误。

警告:未知:无法打开流:第 0 行的未知中的权限被拒绝

致命错误:未知:在第 0 行的未知中打开失败需要 'C:/wamp/www/app/index.php' (include_path='.;C:\php\pear')

上面的错误提示,该错误是由于文件权限问题引起的,有什么办法可以在windows本身修复这个错误?

谢谢你..

【问题讨论】:

右键单击文件夹C:/wamp,选择属性-> 权限(或其他)并为您的用户选择读写并递归应用。我不在 Windows 上,所以我不能告诉你确切的过程,但这是我会尝试的。 试过了,但似乎不起作用:( 我在 Windows 机器上安装了 WAMP 服务器,并且能够成功运行 phpMyAdmin。问题仅在于我上传的目录 【参考方案1】:

您必须为 SYSTEM 的组设置权限,而不仅仅是您当前的用户。属性 -> 安全(或类似的东西),然后选择 SYSTEM > Edit > Allow Full Control > OK

【讨论】:

【参考方案2】:

这听起来像是权限问题,您需要右键单击文档“属性”>“安全”单击每个人或 SYSTEM,具体取决于其 XP 或 win 7/Vista 编辑其权限以允许他们读取和执行。

供参考Click Here

【讨论】:

【参考方案3】:

在需要文件时,您的代码中似乎出现了问题:

C:/wamp/www/app/index.php

在 windows 机器上不是有效路径,windows 使用“\”作为目录分隔符,而 linux/unix/mac 使用“/”。

在 PHP 中从不硬编码目录斜杠,使用常量:

DIRECTORY_SEPARATOR

让您的代码在任何平台上无缝运行。

【讨论】:

【参考方案4】:

我有这个,发现是因为index.php文件设置了加密。

对于任何想要排除它的人 - 右键单击​​ php 文件,选择“属性”,然后单击“高级”按钮并取消选中“加密内容以保护数据”复选框,然后单击“确定”。这对我有用,所以把它放在那里。

【讨论】:

谢谢,它帮助Windows上的WAMP到disable encrypting files它解决了诸如无法打开流:没有这样的文件或目录之类的错误,有时还有一些尖叫错误【参考方案5】:

对于想知道我如何解决这个问题的人。

问题在于index.php 文件的文件权限,当我更改index.php 的文件权限时,它起作用了。

【讨论】:

【参考方案6】:

UwAmp 也有同样的问题。我解决了它,将路径上的文件夹名称从Formación 更改为Formacion,删除了重音符号,这似乎是一个问题。

【讨论】:

【参考方案7】:

在您的 cmd 中尝试使用以下命令运行您的项目

php -S localhost:8000 -t public

【讨论】:

感谢-t 提示。就我而言,它是php -S 0.0.0.0:88 -t .【参考方案8】:

在我的情况下 index.php 为其他网站工作。到有问题 index.html 文件工作但没有 index.php 的站点。它导致了该线程的第一条消息中的错误消息。

罪魁祸首是我站点的 Windows 文件系统上站点目录路径中的斯堪的纳维亚语 'ä'。我将其更改为“a”并重新启动服务器。这样就解决了问题。

【讨论】:

【参考方案9】:

对我来说,这显然是由于别名文件夹位于与 C:/ 驱动器不同的驱动器中造成的。我将文件夹移动到 C:/ 驱动器并解决了问题。

【讨论】:

【参考方案10】:

对我来说,问题在于请求的文件位于我的 OneDrive 文件夹中。我将 DocumentRoot 从 OneDrive 中移出,一切正常!

【讨论】:

我在使用 OneDrive 时遇到了同样的问题。我可以将它移动到另一个文件夹,它工作得很好,但我想将它保留在 OneDrive 中,以便我可以轻松地在我的笔记本电脑和我的台式机之间同步代码。 是的,现在 OneDrive 与 NTFS 更好地集成了。 我想出了如何让 OneDrive 与 PHP 一起工作。进入 OneDrive 设置并取消选中“按需文件”按钮。然后在所有内容下载后,它就可以工作了。我认为发生的事情是 PHP 正在从 OneDrive 请求一个文件,但只得到一个零字节存根。 i.imgur.com/lukjm4n.png

以上是关于PHP文件不在Windows机器中执行的主要内容,如果未能解决你的问题,请参考以下文章

更改 Docker 机器位置 - Windows

Apache 不在 Linux/OpenSuse 中处理 php 文件

如何在Visual Studio代码中配置PHP可执行文件,其中我的设置 是Windows 10主机中的Vagrant Ubuntu 16.06

php函数file_exits,copy,shell_exec不在一台机器上工作,但相同的代码在不同的机器上工作

windos系统定时执行批处理文件(bat文件)

我电脑以前的镜像文件怎么都删不了,用PE删除起动windos后还在