我在MacOS上安装PHP时遇到的最奇怪的情况。
我有一个PHP脚本抛出了一个错误,提示Maximum execution time of 60 seconds exceeded
。所以我想,不用担心,我将在php.ini中进行更改。
我打电话给phpinfo()
来找到php.ini
文件,但是phpinfo()
说了max_execution_time = 30
。那么,为什么错误说是60秒呢?进一步,phpinfo()表示Loaded Configuration File
是/usr/local/etc/php/7.2/php.ini
。
因此,我打开终端,尝试使用vim编辑此文件,并将max_execution_time
更改为120,以进行测试。然后,为了安全起见,我重新启动了服务器,但是请放心,phpinfo()
仍然说max_execution_time
是30,错误日志仍然说exceeded execution time of 60
,并且文件中的值是编辑后仍然是120。
有什么作用?即使似乎所有内容都指向同一个配置文件,在这里如何发挥3个不同的值?
我尝试在终端中进行php --ini
,并且获得了与phpinfo中有关php.ini文件位置的相同信息。
这是有问题的脚本,它遍历CSV目录并将其内容转换为数组。
$files = scandir($dir);
foreach($files as $file){
//only CSV files
if(substr($file,-4) == ".csv"){
$ret = [];
if (($handle = fopen($url, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE){
if($data[0] != "Date")
$ret[] = [
'date' => $data[0],
'value' => $data[4]
];
}
fclose($handle);
//array handling goes here
}
}
}
}