Phalcon moveTo 函数不是将文件移动到服务器中的目标目录吗?

Phalcon moveTo function is not moving files to target directory in server?

我正在尝试将图像上传到特定目录,但函数 moveTo 没有移动图像。

public function uploadRecipeImageAction() {
    if ($this->request->hasFiles() == true) {
        $file = $this->request->getUploadedFiles()[0];
        $target_file = '/uploads/ketogenic-recipes/'.preg_replace("/[^a-z0-9\_\-\.]/i", '', basename($file->getName()));
        $file->moveTo($_SERVER['DOCUMENT_ROOT'] . $target_file);
    }
    return $target_file;
}

该功能在本地运行良好,但在服务器上无法运行。日志中没有错误

uploadsketogenic-recipes 目录权限设置为 0775

PHP版本7.2.20

Phalcon 版本为 3.4

var_dump($_SERVER['DOCUMENT_ROOT']) = string(30) "/home/web/public_html/test2"
var_dump($target_file); = string(42) "/uploads/ketogenic-recipes/harrypotter.jpg"

我们从旧服务器转移到新服务器。而且我发现很少有错误的配置,这是不将 images/files 移动到目标目录的原因。

PHP-FPM 未启用

我们的网站在 PHP 7.2.20 上 运行 但 PHP-FPM 未在我们的网站上启用。所以这意味着它没有使用特定于站点的 php.ini

主目录错误

我在 cPanel 中错误地为子域设置了主路径。他们指向子域根目录而不是 web 文件夹( 在 phalcon 中,我们将 web 作为主目录 )。所以 $_SERVER['DOCUMENT_ROOT'] 指向根文件夹;而不是 web 文件夹。

在我们的案例中,问题直接与 PHP upload_max_filesize 默认设置为 2MB 相关。增加 php.ini 文件中的值解决了问题。