php - 如何检查 Tor 是否在 PHP 中运行?

标签 php socks tor

我正在使用 Tor 和 PHP,目前一切正常。但是,当我尝试从 php 启动 Tor 时,有时会抛出错误,因为 Tor 当前正在运行,所以我一直想知道是否有任何方法可以检查 Tor 的状态(是否运行)

我只能使用SOCKS5协议(protocol)或Linux CLI;这是我唯一的选择。

注意:此功能连接到 Tor(有效)。

function init()
    {
        //Connect to Tor

        $socket = fsockopen($this->proxyIp, $this->proxyPort);      
        fwrite($socket, 'AUTHENTICATE' . PHP_EOL);

    }  

最佳答案

一般来说,Unix/Linux 守护进程通常使用锁定文件(通常位于 /var/run 中)来实现“已运行”检查。您可以使用 file_exists()检查锁定文件是否存在。当然,这不能用于检测进程是否崩溃(从而检测进程在任何给定时刻是否实际上正在运行); checking the process table可能有必要。

具体到 Tor,快速的网络搜索似乎表明您不必这样做。 Tor 定位 Unix domain socket位于 /var/run/tor/control (并监听 TCP 端口 9051,具体取决于配置)以允许其他程序控制它。尝试通过该套接字连接到 Tor(使用 PHP 的 socket functionsTor Control Protocol )可能会起作用。

关于php - 如何检查 Tor 是否在 PHP 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16002029/

相关文章:

php - 数据透视表上的 laravel 一对多

python - 使用 Stem 对带有 Tor 子进程的 Controller 进行身份验证

proxy - Dante Socks5 代理服务器未启动

curl - 通过SSH SOCKS隧道将流量转发到特定IP

javascript - 为 NightmareJS 指定 SOCKS 代理?

git - 如何通过 Tor 匿名在 github 上做贡献?

routing - 使用 Tor 代理作为网络网关的正确 iptables 规则是什么?

php - Laravel 5.1 无法识别 postgres 中的时间戳字段

php - += 是做什么用的?

php - 刷新PHP sql查询而不刷新页面