遇到了两个由于php.ini配置错误导致的报错:ajax图片上传报错和exec报错
首先第一个:
在做一个用ajax图片上传的功能中,php报了这样一个错误:File upload error - unable to create a temporary file;
然后百度了下,发现是由于php.ini配置文件的upload_tmp_dir的配置没有处理好.
于是百度下了这个:供参考下
1.因为php.ini中没有设置上传的临时文件,默认为系统的临时文件地址。
2.如果没有权限去读系统的临时文件目录的话就会产生上述错误。
解决的方法就是去掉 upload_tmp_dir 前面的分号然后设置临时文件目录。
3.如果是WIN系统,设置的临时文件夹的所有父文件夹要有“IUSR_*****(Internet来宾账户)”的“列出文件夹目录”权限,建议把这个临时文件夹创建在PHP目录中。
第二个:今天在压缩前端css文件时,发现压缩不了,程序和权限都正确,然后看了下,是由于php.ini 的disable_function 这个配置,导致了在执行exec压缩时报错!
出于安全的原因,服务器是不允许php或者其他语言执行exec命令的,当你有特殊需要php在服务器执行exec命令时,你需要设置两个地方,不然就无法执行成功
1、修改php.ini
找到php配置文件php.ini,如果是用星外php自动安装程序配置php环境,这个文件就在C:\WINDOWS\这个目录里。
在文件里搜索“disable_functions”,找到它后把“exec”、“shell_exec”去掉,然后保存文件。
2、修改cmd.exe文件属性
进入C:\WINDOWS\system32,找到cmd.exe这个文件,右键->属性,在“安全”设置里添加Internet 来宾账户,也就是IUSR_******那个账户,然后赋予“读取与运行”、“读取”的权限。
这样设置完成后,php就可以在服务器执行exec命令了。