PHP中的异步操作:文件操作范围,参数传输和限制执行访问

前端之家收集整理的这篇文章主要介绍了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的开头)这是否会影响可能正在使用文件操作的所有其他脚本,或仅影响执行时的受影响的脚本?
>如果使用cURL调用,我会让脚本容易受到不适当的执行吗?虽然我认为如果有人想要执行它,我肯定会访问$_SESSION,这会让它变得容易欺骗.有办法对付这个吗?
>考虑到我需要在脚本之间传输的参数可以轻松实现大量字节,因为在每个数组中大约400字节* x数组会有任何执行问题吗?

非常感谢您的帮助,我希望您不要认为这是非常广泛的,因为我已经明确地尝试并详细说明了我的所有问题,并希望在整个过程中提供帮助(比分段更容易).请尽可能帮忙,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()(这是一种不同的方法)来扩展或关闭脚本执行时间限制.

猜你在找的PHP相关文章