首页 > 解决方案 > 文件上传失败通过 HTTPS

问题描述

我有一个文件上传 php 脚本,在常规 http 上运行良好。但是当我使用自签名证书配置服务器时,它不再上传文件。我怀疑 move_uploaded_file 现在应该有所不同,但无法提供有关如何修复的详细文档。谢谢你。

<?php

$fileName = $_FILES["file1"]["name"]; // The file name

$fileTmpLoc = $_FILES["file1"]["tmp_name"]; // File in the PHP tmp folder

$fileType = $_FILES["file1"]["type"]; // The type of file it is

$fileSize = $_FILES["file1"]["error"]; // 0 for false... and 1 for true

if (!$fileTmpLoc) { // if file not chosen

    echo "ERROR: Please browse for a file before clicking the upload button.";

    exit();

}

if(move_uploaded_file($fileTmpLoc, "uploads/{$fileName}")) {

    echo "$fileName upload is complete";

} else {

    echo "move_uploaded_file function failed";

}


?>

这是我的 /etc/apache2/sites-available/default-ssl.conf 没有评论。

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin bishop@gmail.com
                ServerName 192.168.236.138

                DocumentRoot /var/www/html

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                SSLEngine on

                SSLCertificateFile      /etc/ssl/certs/apache-selfsigned.crt
                SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>

                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>

        </VirtualHost>
</IfModule>

标签: phpapache

解决方案


推荐阅读