在使用thinkphp框架开发项目时,我们可能会发现默认情况下框架会对上传文件大小、表单提交数据大小以及sql查询结果条数等进行限制,这对于一些需要上传大文件或者查询大数据量的项目来说会带来很大的困扰。因此,我们需要对这些默认限制进行修改和去除。
在thinkphp框架中,上传文件大小的限制是由php.ini中的upload_max_filesize和post_max_size来实现的,因此我们需要修改php.ini文件中的这两个配置项。
首先,在命令行中输入php --ini,可以查看php.ini文件的路径。找到该文件并打开,然后进行如下修改:
upload_max_filesize = 100M
post_max_size = 100M
其中100M可以根据项目需要自行调整。修改完成后,保存并重启Apache或者Nginx服务器。
立即学习“PHP免费学习笔记(深入)”;
在thinkphp框架中,表单提交数据大小的限制是由php.ini中的post_max_size和memory_limit来实现的,同样需要进行修改。在php.ini文件中找到这两个配置项,并进行如下修改:
post_max_size = 100M
memory_limit = 128M
其中100M可以根据项目需要自行调整。修改完成后,保存并重启Apache或者Nginx服务器。
立即学习“PHP免费学习笔记(深入)”;
在thinkphp框架中,sql查询结果条数的限制是由框架自身设定的,因此需要对框架代码进行修改。
在thinkphp框架的核心代码文件ThinkPHPDbDriverPdo.php中,可以找到以下代码:
if (isset($options['limit'])) {
$limit = is_numeric($options['limit']) ? $options['limit'] : 100000; $this->_queryStr .= ' LIMIT ' . $limit;
}
其中100000即为默认的查询结果条数限制。我们可以将其修改为更大的数值或者改为0表示不限制条数。修改完成后,保存并重新运行项目即可。
总结
通过对php.ini配置文件以及thinkphp框架代码的修改,我们可以去除默认限制,解决一些上传大文件或者查询大数据量的项目中的困扰。需要注意的是,在修改配置文件时,要根据具体需求进行调整,不要设置过于巨大的数值导致服务器负担过大。