2 PHP 个单独启动的脚本可以相互交互吗?

Can 2 PHP scripts launched separately interact with each other?

说我有这个class

class Hello
{
    /**
     * Construct won't be called inside this class and is uncallable from
     * the outside. This prevents instantiating this class.
     * This is by purpose, because we want a static class.
     */
    private function __construct() {}
    private static $greeting = 'Hello';
    private static $initialized = false;

    private static function initialize()
    {
        if (self::$initialized)
            return;

        self::$greeting .= ' There!';
        self::$initialized = true;
    }

    public static function greet()
    {
        self::initialize();
        echo self::$greeting;
    }

    public static function changeGreet($new)
    {
        self::initialize();
        self::$greeting = $new;
    }
}

我有 2 个脚本,其中一个是我在命令行中 运行。

cmdLine.php (php cmdLine.php)

for($i = 0; $i < 25;$i++){
    echo Hello::greet() . PHP_EOL;
    sleep(5);
}

还有一个是我在浏览器中加载的。

browser.php

Hello::changeGreet('NewGreet');

心想,先运行宁cmdLine.php后。然后加载 browser.php,问候语会在下一次循环 运行 时改变,但它没有。

仅 PHP 就可以做到这一点吗?

仅 PHP 就可以做到这一点吗?:不。

这需要某种中介才能起作用。需要文件、数据库或其他东西。

(例如)

initialize() 中,当您需要更改它时,您可以使用 file_get_contents() and then store your greeting with file_put_contents() 打开一个文件。