有什么区别?
每个功能都有特定的情况或原因吗?如果是的话,你能举一些这些情况的例子吗?
PHP.net说它们用于执行外部程序.参见参考 从我看到的例子中,我没有看到任何明显的区别.
如果我只是简单地运行一个脚本(bash或python),你建议我使用哪个函数?
可以通过三个PHP函数运行外部命令
system();
exec();
shell_exec();
Run Code Online (Sandbox Code Playgroud)
但他们的区别是什么?尽管它们具体应用,但在大多数情况下,可以同样使用.我很想知道哪些是可以同样使用的首选.例如,对于解压缩文件或压缩文件夹(使用tar命令),哪一个是首选(可能从性能的角度来看)?
更新:在另一个问题中,我发现了一个非常有用的链接,描述了这些功能的不同方面.我在这里分享链接,因为其他人可能会用来更好地了解安全问题和其他方面.
我*.sql在创建新的网站数据库时使用了两个文件.第一个文件创建所有表.第二个文件填充一些默认记录.我想从PHP执行这些文件.我也使用Zend_Framework,如果这将有助于实现这一目标.
附加信息
解
使用shell_exec()......
$command = 'mysql'
. ' --host=' . $vals['db_host']
. ' --user=' . $vals['db_user']
. ' --password=' . $vals['db_pass']
. ' --database=' . $vals['db_name']
. ' --execute="SOURCE ' . $script_path
;
$output1 = shell_exec($command . '/site_db.sql"');
$output2 = shell_exec($command . '/site_structure.sql"');
Run Code Online (Sandbox Code Playgroud)
...我从来没有得到有用的输出,但在另一个线程上遵循一些建议,最后让它全部工作.我切换到命令的格式,而不是执行文件.--option=value--execute="SOURCE ..."<
此外,我从来没有得到shell_exec()和和之间的差异的良好解释exec().
有人请告诉我.我想知道之间的不同exec(),shell_exec,system()和passthru()功能?
我从php.net搜索无法得到我需要的答案.
如何从PHP脚本运行linux命令?我正在运行Linux Debian和PHP5.我希望能够向wget控制台发出命令.
我正在寻找的一个例子是这样的:
phpFunction ("wget http://www.example.com/image.jpg /folder");
echo "done";
Run Code Online (Sandbox Code Playgroud)
我也能够回显该功能的输出吗?
PHP中的方法shell_exec和system方法有什么区别?
两者都采用单个命令行参数并在PHP中运行.使用一个比另一个更好吗?
我有一堆R 脚本,可以执行一些计算并返回结果。我计划建立一个 PHP 网站,用户实际上可以提交一个表单,其中数据被传递到我的 R 脚本,进行处理,然后将结果返回到 PHP 并更新界面。
计划是建立一个数据库,这样当用户提交表单时,数据就会存储在数据库中,以便 R 可以读取、处理输入,然后将结果插入数据库,以便 PHP 可以获取它。然而,有两个问题:
假设我的 R 脚本如下所示:
range<-1:20
m<-mean(range)
s<-sum(range)
print(m)
print(s)
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,在这种情况下,输入将是1和20来定义范围,输出是在我的网页上显示m和的值s。
知道如何实现这一点吗?谢谢!