PHP中的异步操作:文件操作范围,参数传输和限制执行访问
我有一个
PHP脚本,将数据发送到另一个脚本并处理它异步(至少我希望同样得到它).这是called.php的代码
include_once("../caller.php"); chdir(__DIR__); fclose(STDOUT); //THIS fclose(STDIN); //THIS fclose(STDERR); //THIS function giveCake($arg1,$arg2){ global $mysqli; $sleep = 15; //script has to sleep (...) code amongst sleep (...) sleep($sleep); $_SESSION; //would session variable of the user be available if the script is called as described? //script caller.php is firstly initiated by a script with pre-defined $_SESSION //now that I'm thinking maybe it won't since it is called from the command line... pcntl_exec("/usr/bin/php",Array($_SERVER['argv'][1])); } if (!isset($_SERVER["HTTP_HOST"])) { //check if it comes from within the server? localhost? $arg1 = parse_str($argv[1],$_GET); $arg2 = parse_str($argv[1],$_POST); if($arg1 && $arg2){ giveCake($arg1,$arg2); } } 我的问题在标题中给出,如下: >通过关闭文件操作(如在called.php的开头)这是否会影响可能正在使用文件操作的所有其他脚本,或仅影响执行时的受影响的脚本? 非常感谢您的帮助,我希望您不要认为这是非常广泛的,因为我已经明确地尝试并详细说明了我的所有问题,并希望在整个过程中提供帮助(比分段更容易).请尽可能帮忙,tyvm.
Q1:文件操作总是影响当前执行的脚本,当然包括通过require或include加载的所有库.
Q2:根据呼叫者和被呼叫者所在的位置,您可以限制访问,例如通过限制对某些IP的访问,也可以通过.htaccess访问方法. 喜欢: <Limit GET POST> order deny,allow deny from all allow from 1.2.3.4 </Limit> 问题3:同样取决于两个脚本之间的连接,如果有足够的可用带宽,通常大数据量应该没有问题. 我们有一些操作脚本可以定期处理大约100兆字节的数据.可能需要通过在php.ini中设置max_execution_time或使用ini_set()或使用set_time_limit()(这是一种不同的方法)来扩展或关闭脚本执行时间限制. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |