我在Windows Vista上运行XAMPP。 XAMPP是一个约一年的安装与所有默认选项。
我在PHP中编写了一个脚本,它将执行networking爬行并将数据放在mysql中。 我在PHP源代码中放置了set_time_limit(36000) ,以便脚本不会超时。 但是,因为我通过将浏览器指向PHP文件来启动脚本,所以浏览器(Chrome和Firefox)超时; 然后脚本停止(即脚本运行良好约一分钟,然后停止)。
问题:
php -v并得到'php' is not recognized as an internal or external command 。 PATH环境variables中。 请参阅PHP文档以获取有关在Windows上从命令行使PHP运行的一般说明。 基本上,如果你想从命令行使用PHP,你需要将包含PHP可执行文件(可能是C:\xampp\php )的目录添加到PATHvariables中。 请参阅本指南以获取有关如何更改PATHvariables的说明。 C:\xampp\php\php.exe从命令提示符运行PHP,但是一旦您正确设置了PATHvariables,如上面的步骤1,您应该能够简单地键入php在命令提示符。 要解决从浏览器运行脚本时PHP超时的问题,这不太可能是由浏览器引起的问题。 有两个单独的php.iniconfiguration文件; 一个适用于PHP的命令行实例,另一个适用于Apache使用的PHP实例,因此请确保您更改了正确的文件。 另外要记住的是,必须重新启动Apache以使configuration更改生效; 你最好的select就是重启整个堆栈。
最后,是否有什么特别的原因使用XAMMP而不是WAMP? 除非您使用Perl编程语言,否则我build议您下载WAMP安装程序 ,该安装程序已完全集成并将为您设置所有必需的环境variables,并提供良好的社区支持。
编辑:我刚刚注意到,你没有提到改变你的php.ini文件中的任何设置,所以我认为这可能是你的超时问题。 在你的php.ini文件中,你会发现一个以秒为单位指定的max_execution_time设置。 将其更改为您认为更准确地允许您的脚本完成处理的值,例如,将其设置为max_execution_time = 300以允许脚本在超时之前运行最多5分钟。 再一次,请记住在进行此更改后重新启动Apache。
为了logging,使用从浏览器调用的PHP脚本执行任何types的网页爬行是一个可怕的想法。 您应该将其作为控制台应用程序运行。
您应该能够从命令提示符下运行php。 您将需要在XAMPP安装文件夹中导航到php.exe所在的位置,或者将该目录添加到PATH环境variables中。
我已经安装了WAMP,并在C:\wamp\bin\php\php5.3.0\php.exefind它:
C:\wamp\bin\php\php5.3.0>php.exe -v PHP 5.3.0 (cli) (built: Jun 29 2009 21:25:23) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies