php - 当尝试在 Laravel 5 上上传开发中的文件时,我得到 stream_socket_sendto() : error

标签 php file laravel-5

我正在尝试从一个文件中进行简单的上传,以便一个国家/地区为其国歌附加一个声音文件。我正在使用 PHP 7.2.10Laravel 5.7.19

我的表单包含一个名为 anthem 的字段,表单以

开头
<form id="form-app" enctype="multipart/form-data"
      method="post"
      action="{{ route('storeCountryAnthemMPOnly',['id' => $co->id]) }}">

web.php 中的路由是:

Route::post('storeCountryAnthemMPOnly/{id}',
            'CountryController@storeCountryAnthemMPOnly')
       ->name('storeCountryAnthemMPOnly');

我在 Controller 中的功能是:

public function storeCountryAnthemMPOnly(Request $request, $id)
{
  dd($request);
}

当我按下提交按钮时,我得到:

stream_socket_sendto(): A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.

我无法理解这一点,非常感谢帮助。

最佳答案

文件无法上传到服务器,这不是laravel的错,而是你的服务器。

我在同样的环境下遇到了同样的问题。问题是文件太大,所以无法上传到临时位置。虽然文件没有上传到服务器,但 Laravel 仍在尝试读取它,所以这就是为什么你得到 “没有提供地址”

在我的情况下,文件无法上传,因为超出了大小限制,但在您的情况下,这可能是文件无法上传的另一个原因。

我通过更改 php.ini 中的大小和内存限制解决了这个问题。

memory_limit = 32M
upload_max_filesize = 24M
post_max_size = 32M

除了大小限制,我还有一个建议:确保您对临时上传的文件夹有适当的权限。

您还可以检查服务器日志。

关于php - 当尝试在 Laravel 5 上上传开发中的文件时,我得到 stream_socket_sendto() : error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53932406/

相关文章:

laravel - 如何统计当年每个月的文章数?

laravel - 将路由参数传递给 Controller ​​ Laravel 5

php - symfony中的请求计数sql返回 bool 值而不是整数

php - 从 name = ? 的表中选择 id ...查询失败

java - 在 zip 中写入(修改或添加)文件

java - 从 SD 卡读取和写入文件

php - .csv 文件导入 mysql

php - 如何实际检查服务器是否可以同时处理多个 MySQL 连接

python - 为什么 "End of File"(EOF) 是此处文档的实际分隔符?

laravel - 在 Laravel 5.6 中同时插入父级和子级