php.ini文件保存了php的一些重要属性,例如现在要说的文件上传的一些限制条件,关于php.ini,有一篇很好的介绍:php.ini文件详解,在Windows系统中编写php的时候,我们一定见过这个画面(来源百度):
在这个网页我们就可以看到圈起来的部分标明了php.ini文件的位置,今天在Linux服务器上测试一个php文件的时候,结果打开页面是这样:
那么我们怎样获取php.ini的位置信息呢?
方法一是写个测试php页面使用phpinfo()函数输出一下,但是Linux有更方便的输出方法,直接在命令行中:
php -r “phpinfo();”
其实就相当于在php下运行了phpinfo()函数而已,这时候会输出第一个页面的信息:
<img src=“https://img-blog.csdn.net/20180423170024430?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzM0MzI4NzY0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70” height=“500” width=“700”
仔细看其实就是图一的信息,所以我们可以从中找到php.ini的文件位置,接下来直接输入位置:
在下面列出的文件中我们就可以看到有php.ini了,接下来是改变我们要改的信息了,使用vim打开文件:
vim php.ini
接下来就是找了,文件还是有点长的,大概是在40%多的地方就由我们要用的配置项了:
首先找到
file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir ;文件上传至服务器上存储临时文件的地方
upload_max_filesize = 8m ;允许上传文件大小的最大值。默认为2M
post_max_size = 8m ;表单POST给PHP的所能接收的最大值,包括表单里的所有值 默认为8M
根据网上的资料,如果上传大于8M的文件,还要改一下时间的设置:
max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒),默认30秒
max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒
memory_limit = 8m ;每个PHP页面所吃掉的最大内存,默认8M
把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了
max_execution_time = 600
max_input_time = 600
memory_limit = 32m
file_uploads = on
upload_tmp_dir = /tmp
upload_max_filesize = 32m
post_max_size = 32m
修改完成之后按esc键输入:wq保存退出,接着重启一下apache,命令行中输入:
service httpd restart
这样再测试上传大一些的文件就应该ok了。
end~