[英]How can I run php -a (interactive shell) from inside a php script?
我正在尝试创建一个快捷脚本来设置一些环境变量和include路径,然后再运行php -a。 所以看起来像这样:
#!/usr/bin/env php
<?php
putenv("ENVVAR=value");
passthru("php -a -d include_path=<path>");
这通常可以工作,但是php shell无法正确输出其提示。
即从php -a正常输出:
$ php -a
Interactive shell
php > echo "hi\n";
hi
php >
该脚本的输出:
$ ./myscript.php
Interactive shell
echo "hi\n";
hi
此外,不支持使用箭头键浏览历史记录(甚至沿已键入内容向右或向左)。
有没有办法使它正常工作?
我正在使用Mac OS X,PHP 5.4.27。 我已经尝试将stderr重定向到stdout,以防某种原因(并非如此)。
与其以PHP编写,不如将其作为shell脚本。
#!/bin/bash
export ENVVAR=value
php -a -d include-path=whatever
我正在使用bash,在Ubuntu 12.04下它可以正常工作。 我不确定OSX上可用的shell。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.