php - 文件上传失败通过 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>
解决方案
推荐阅读
- django - 与 Django 时间字段交织在一起的问题迫使黑客编辑/显示时间
- r - 在一个函数中运行多个回归
- unity3d - 从点列表构建索引缓冲区
- aws-java-sdk - AWS Java SDK 按配置文件调用
- react-native - 反应原生状态
- java - Java - 如何使用 JSoup 访问 Div 的子级
- javascript - 使用带有上下文/变量的 javascript 创建 HTML
- c# - 如何在 ComboBox 中添加自定义索引
- javascript - google drive api - 列出应用程序中与我共享的文件,仅对应用程序创建的文件具有读写权限(权限 auth/drive.file)
- python - attrs.asdict() 中的列表类型缺少 dunders?