Php 导入带有大型照片的CSV时出现500内部服务器错误
我在导入带有CSV文件的产品时遇到问题 我正在尝试上载一个CSV文件,其中包含大约1400个产品。大多数都有三张左右的照片。但是这些图片相当大,只有3-4兆字节。到目前为止,在测试过程中,我只尝试过从包含5项的CSV文件导入 我最初在prestashop中遇到一个错误,表明无法复制我产品的图片。产品是进口的,只是没有照片。我对此进行了研究,发现PHP.INI文件需要更新。我已使用以下参数完成此操作:Php 导入带有大型照片的CSV时出现500内部服务器错误,php,csv,prestashop-1.6,Php,Csv,Prestashop 1.6,我在导入带有CSV文件的产品时遇到问题 我正在尝试上载一个CSV文件,其中包含大约1400个产品。大多数都有三张左右的照片。但是这些图片相当大,只有3-4兆字节。到目前为止,在测试过程中,我只尝试过从包含5项的CSV文件导入 我最初在prestashop中遇到一个错误,表明无法复制我产品的图片。产品是进口的,只是没有照片。我对此进行了研究,发现PHP.INI文件需要更新。我已使用以下参数完成此操作: <?php ;;;;;;;;;;;;;;;;;;; ; Resource Limits ;
<?php
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
memory_limit = 256M
max_execution_time = 120
max_input_vars = 3000;
suhosin.post.max_vars = 3000;
suhosin.request.max_vars = 3000;
?>
我的PHP信息文件在这里:www.gbamedical.com/info.PHP
现在我得到一个500内部服务器错误。错误日志中的实际错误如下所示:
[星期二2014年7月22日23:21:19][5435820][fcgid:warn][client 97.115.27.65:60638]mod_fcgid:读取数据超时120秒,请参阅
[星期二7月22日23:21:19 2014][5435820][core:error][client 97.115.27.65:60638]标题前的脚本输出结束:index.php,referer
我做错了什么?我曾尝试过更小的图片,但我使用的供应商数据源中没有1400个项目的更小图片,将它们变小是一项艰巨的任务
提前感谢您可能提供的任何帮助
Trevor对于您的测试环境,将图像添加到本地服务的url,并更新您的csv以反映该更改
http://localhost/importimages/image_name.jpg
然后对您的生产环境执行类似的操作。我的第一个想法是解决这个问题,但是流操作不计入执行时间(除非在windows上),因此根据您从prestashop下载文件的方式,它可能实际上不计入执行时间(我想fopen()不会)
显然,这是fcgid特有的问题。您需要(取决于您的版本)将以下内容添加到fcgid.conf中:
FcgidIOTimeout 180
它曾经是一个超时。该值以秒为单位(手册以秒为单位)。希望这能有所帮助。看看这篇文章:
需要传递给fastcgi进程的参数是:-idle timeout 360
您可以调整值(此处:360)以满足您的需要
调整/etc/apache2/mods enabled/fastcgi.conf
。将前面声明的参数附加到FastCgiExternalServer
我的配置:
<IfModule mod_fastcgi.c>
AddType application/x-httpd-fastphp5 .php
Action application/x-httpd-fastphp5 /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization -idle-timeout 360
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
</IfModule>
AddType应用程序/x-httpd-fastp5.php
动作应用程序/x-httpd-FASTP5/php5 fcgi
别名/php5 fcgi/usr/lib/cgi-bin/php5 fcgi
FastCgiExternalServer/usr/lib/cgi-bin/php5 fcgi-socket/var/run/php5-fpm.sock-通过头授权-空闲超时360
要求所有授权
这会让您的apache等待fastcgi进程完成的时间更长。希望这有帮助我也有同样的问题。我使用Centos 6和fcgi。我设置在/etc/httpd/conf.d/fcgid.conf中
MaxRequestLen 1073741824
FcgidBusyTimeout 6000
当我导入csv时,我的导入过程作为后台过程工作图像如何存储在csv中?我希望csv只能继续text@Dagon您可以将图像的url作为csv的一个字段:@Dagon yea。很抱歉我应该澄清一下。CSV文件指向每个产品的图像的URL。@rsanschez如何解决此错误?