Php 文件上载在某些服务器上不起作用

Php 文件上载在某些服务器上不起作用,php,upload,Php,Upload,我有一个网站可以上传文件到api/上传-它可以在本地和我的heroku服务器上工作。但它在提供给我的生产服务器上失败了 该站点位于文件夹-public中/ 我已运行以下命令: chmod -Rf 777 public/api/uploads 并将以下内容添加到我的htaccess文件中: php_value upload_max_filesize 10M php_value post_max_size 20M php_value memory_limit 32M 这一点都不管用——还有什么我

我有一个网站可以上传文件到api/上传-它可以在本地和我的heroku服务器上工作。但它在提供给我的生产服务器上失败了

该站点位于文件夹-public中/

我已运行以下命令:

chmod -Rf 777 public/api/uploads
并将以下内容添加到我的htaccess文件中:

php_value upload_max_filesize 10M
php_value post_max_size 20M
php_value memory_limit 32M
这一点都不管用——还有什么我可以试试的吗

编辑:

某些调试会得到以下结果:

上载文件:无法打开流:权限被拒绝


查看phpinfo file_uploads设置为“开”-在打开上载时如何拒绝权限?

根据我的经验,您可能需要检查用于存储上载数据的文件夹的所有权。您可以使用chown命令更改Linux中文件夹和文件的所有权

您是否创建了上载文件存储的文件夹

是否在文件夹和文件上正确设置了Linux所有者和组

您可以使用此命令更改所有者和组

sudo chown -R <YOUR WEBSERVER USERNAME>:<YOUR WEBSERVER GROUP> <PATH TO FOLDER>
是否已启用Open_Basedir


请参阅:

已完成任何基本调试,如检查$\u文件['whater']['error']以了解上载失败的原因?您可以尝试调试…请检查phpinfo中的以下值:upload\u tmp\u dirhey其无值我猜这是错误的?不,在本例中,它是系统默认文件夹,请参阅:因为他使用了chmod 777,所以所有权并不重要。我刚才尝试了这个命令-也获得了DeniedId权限。您是否检查php.ini中的Open_Basedir值?