[英]Run a .sh script in php
我正在尝试在php中运行.sh脚本。
这是sh代码
php fetchdrive.php
当我双击运行.sh脚本时,它可以正常工作,并显示我返回的变量(数组)。 我正在使用wampserver运行php。 多个php文件可以正常工作,不幸的是,该文件只能在命令行中运行,因此我想出了为什么不通过index.php文件中的sh调用命令的原因。 当我尝试<?php echo exec('sh C:/wamp64/www/run.sh'); ?>
<?php echo exec('sh C:/wamp64/www/run.sh'); ?>
在我的index.php文件中,它不起作用。 我知道这一点,因为在php文件的底部,我试图执行它具有alert(“ Hello”);。
实际上,当我尝试使用echo exec时,我认为它根本没有运行命令。 所有这些都是因为我试图运行命令“ php fetchdrive.php”而不必在终端中手动键入该命令,因为当我开始运行该服务器时,不必每次都重新运行该命令。
有任何想法吗?
编辑:这是警报的脚本标签
<script type="text/javascript"> alert("Hello!"); </script>
它适用于我的其他php文件。
tl; dr我只是想在网站内运行php终端命令。
这是我所做的,因此,如果对您不起作用,则可能是WAMP或其他问题。 我可能是错的,但我不认为您所使用的盒子确实很猛。
<?php
passthru(__DIR__ . '/lame.sh');
和sh文件(password_hash函数至少需要PHP v5.5):
#!/bin/bash
PASSWORD = 'kookoopapa1'
PHP=`which php`
PASSWORD=`$PHP -r "echo password_hash( '$PASSWORD', PASSWORD_BCRYPT, ['cost' => 11] );"`
printf "<script type=\"text/javascript\"> alert(\"$PASSWORD\"); </script>\n"
试一试。 还有一种可能是您的bash并非真正位于/ bin / bash。 在您的终端中,键入“哪一个bash”,并查看其内容。 根据需要修改您的shebang。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.