相关疑难解决方法(0)

我可以尝试/发出警告吗?

我需要从一些php本机函数中捕获一些警告,然后处理它们.

特别:

array dns_get_record  ( string $hostname  [, int $type= DNS_ANY  [, array &$authns  [, array &$addtl  ]]] )
Run Code Online (Sandbox Code Playgroud)

当DNS查询失败时,它会发出警告.

try/ catch不起作用,因为警告不是例外.

我现在有2个选择:

  1. set_error_handler 看起来有点矫枉过正,因为我必须使用它来过滤页面中的每个警告(这是真的吗?);

  2. 调整错误报告/显示,以便这些警告不会回显到屏幕,然后检查返回值; 如果是false,则没有找到主机名的记录.

这里的最佳做法是什么?

php error-handling try-catch

334
推荐指数
5
解决办法
19万
查看次数

PHP线程异步调用php函数

我要做的是从数据库或从memcache异步加载一些数据.

我知道我知道."PHP不支持线程".

但是register_tick_function怎么样?这不是真正的线程吗?

有没有人使用register_tick_function进行任何预测预加载或任何后台处理?

php

45
推荐指数
1
解决办法
10万
查看次数

PHP同时运行多个脚本

我有一个像这样的对象服务器的数组:

Array
(
    [0](
                (
                    [id] => 1
                    [version] => 1
                    [server_addr] => 192.168.5.210
                    [server_name] => server1
                )
        )
    [1](
                (
                    [id] => 2
                    [server_addr] => 192.168.5.211
                    [server_name] => server2
                )
        )
)
Run Code Online (Sandbox Code Playgroud)

通过运行下面的代码,我能够获得所需的输出

foreach ($model as $server) {
        $cpu_usage = shell_exec('sudo path/to/total_cpu_usage.sh '.$server->server_addr);
        $memory_usage = shell_exec('sudo path/to/total_memory_usage.sh '.$server->server_addr);
        $disk_space = shell_exec('sudo path/to/disk_space.sh '.$server->server_addr);
        $inode_space = shell_exec('sudo path/to/inode_space.sh '.$server->server_addr);
        $network = shell_exec('sudo path/to/network.sh '.$server->server_addr);
        exec('sudo path/to/process.sh '.$server->server_addr, $processString);
        $processArray = array();
        foreach ($processString as $i) {
          $row = explode(" ", …
Run Code Online (Sandbox Code Playgroud)

php shell foreach exec shell-exec

5
推荐指数
1
解决办法
2858
查看次数

标签 统计

php ×3

error-handling ×1

exec ×1

foreach ×1

shell ×1

shell-exec ×1

try-catch ×1