【问题标题】:directory does not exist or could not be selected目录不存在或无法选择
【发布时间】:2017-02-08 19:25:01
【问题描述】:

所以我在 localhost 上的 xampp 中创建了一个网站,一切正常,但是当我将其上传到托管程序时,用户在尝试上传照片时收到 http 错误 500。然而,数据进入数据库并显示在网站上。同样在文件管理器中,我可以看到照片应该在的目录,但如果我尝试输入它,我会得到The directory /public_html/path-to-dir does not exist or could not be selected, so the directory / is shown instead. 我可以得到任何可能是错误的建议吗?这是我工作的第一个网站,所以请不要对我太苛刻

【问题讨论】:

  • 这可能是文件权限问题,请检查权限
  • 就像他说的那样^^
  • 您能告诉我这些权限是在哪里设置的吗?是托管还是编码?

标签: php file localhost hosting


【解决方案1】:

对于您的 500,您可以尝试捕获致命错误并查看问题所在。

<?php
error_reporting(E_ALL); //E_ALL
function cache_shutdown_error() {
    $_error = error_get_last();
    if ($_error && in_array($_error['type'], array(1, 4, 16, 64, 256, 4096, E_ALL))) {
        echo '<font color=red>500 Error Caught</font></br>';
        echo 'Fatal error:' . $_error['message'] . '</br>';
        echo 'File: ' . $_error['file'] . '</br>';
        echo 'Line ' . $_error['line'] . '</br>';
    }
}

register_shutdown_function("cache_shutdown_error");

另外,如果权限被拒绝,您可以找到文件是644600。另外,检查运行 httpd 的用户。

【讨论】:

  • 好的,我发现当用户上传文件时,即使我在 php 中指定了 777,目录的权限也设置为 r----x--t,所以用户在内容中看不到图像
猜你喜欢
  • 2016-06-22
  • 2020-07-05
  • 2018-10-11
  • 2013-02-19
  • 1970-01-01
  • 1970-01-01
  • 2021-01-17
  • 1970-01-01
  • 2021-02-24
相关资源
最近更新 更多