首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[分享]php调用php解析器,从变量传递php脚本代码来执行

发布于 2025-04-15 10:59:13
0
32

php从命令行执行时可以使用 r参数来传递执行的php代码,如果我们从程序中传php脚本来执行就会涉及到引号替换的问题,下面记录一个从输入流传递执行的php代码的方法$descriptorspec ...

php从命令行执行时可以使用 -r参数来传递执行的php代码,如果我们从程序中传php脚本来执行就会涉及到引号替换的问题,下面记录一个从输入流传递执行的php代码的方法

$descriptorspec = [
   0 => ["pipe", "r"],  // 启动的命令行可以从这里读取内容
   1 => ["pipe", "w"],   // 启动的命令行会把内容输出到这里
   2 => ['pipe', 'w']    //启动的命令行会把错误信息输出到这里
];
//启动命令行处理程序
$process = proc_open('php -a ', $descriptorspec, $pipes);
// 把内容客情入标准输入管道使用命令行中可以读取
$inputScript='echo 1;';
fwrite($pipes[0], $inputScript);
fclose($pipes[0]);
// 从输出管道中读取命令行输出的内容
$content = stream_get_contents($pipes[1]);
fclose($pipes[1]);
$output_error = stream_get_contents($pipes[2]);
fclose($pipes[2]);
//关闭
$return_value = proc_close($process);
//替换掉开头的输出和空行
// $content=preg_replace('@Interactive shell\s*\n\s*\n@','',$content);
print_r($content);
评论
一个月内的热帖推荐
站长交流