描述:环境lnmp 框架laravel 上传接口调用报错The file failed to upload
一、终端搜索php.ini文件位置
[root@90f8687c2388 /]# whereis php.ini
php: /usr/bin/php /usr/local/php
二、修改文件php.ini配置文件upload_max_filesize项
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 20M
三、重启php
注:到这里一般情况问题解决。
四、再次尝试依然报错。终端命令php --ini
Loaded Configuration File: (none)
发现加载的配置文件并没有.原因是编译时没有增加–with-config-file-path=XXX 这一项根据实际配置XXX的php.ini地址配置
五、重新编译安装php流程,重启php
注:一般情况下到此问题解决。
1、发现php --ini后配置文件依然显示(none)。调用上传依然报错。
六、终端执行命令,查看php 运行情况 都走了那些文件,确认php.ini配置文件与实际php运行时访问地址一致。
strace /usr/local/php/sbin/php-fpm -i 2>1.log
没有strace 就yun install 安装一下。
七、打开1.log文件。找到php运行的位置
munmap(0x7f1da1cf5000, 4096) = 0
open("/etc/php74/php-fpm-fcgi.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/php74/php.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
注:发现php找到配置目录根本没有,根据这个目录创建一下。
八、找到php.ini的文件位置并根据php运行访问的实际地址创建php.ini的软连接
ln -s /usr/local/php/etc/php.ini /etc/php74/