gpt4 book ai didi

php - 在 Codeigniter 中无需终端(无 AJAX)即可在页面加载时自动运行 PHP 服务器

转载 作者:行者123 更新时间:2023-12-04 16:14:32 27 4
gpt4 key购买 nike

我正在使用 Ratchet websockets 开发聊天系统。有必要从终端命令“php”启动服务器,但我需要让这在用户打开聊天页面时自动发生。我尝试了 exec()、shell_exec() 和 system() 但问题是我的 chat-server.php 文件没有返回消息,它只是启动服务器导致本地主机继续加载。
这是 chat-server.php 文件:

<?php
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Chat;

require dirname(__DIR__) . '/vendor/autoload.php';

$server = IoServer::factory(
new HttpServer(
new WsServer(
new Chat()
)
),
8080
);
$server->run();

这是我加载 View 的消息 Controller :
    <?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Messages extends CI_Controller {

function index()
{
$this->load->view( 'includes' );
$this->load->view( 'messages_view' );
}
}

最佳答案

那是因为 PHP 一直等到 exec()、shell_exec() 和 system() 命令完成。您必须更改调用 exec 的方式以使其启动一个单独的进程。可以在此处找到解决方案 most simple way to start a new process/thread in PHP

关于php - 在 Codeigniter 中无需终端(无 AJAX)即可在页面加载时自动运行 PHP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35897344/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com