【问题标题】:PHP files does not execute in windows machinePHP文件不在Windows机器中执行
【发布时间】: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。问题仅在于我上传的目录

标签: php file-permissions chmod


【解决方案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
                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2016-11-14
                • 1970-01-01
                • 1970-01-01
                • 2015-10-25
                • 1970-01-01
                相关资源
                最近更新 更多