当前位置: 首页 > 知识库问答 >
问题:

从Bash脚本执行PHP脚本

宰父飞翼
2023-03-14

我试图从一个简单的BASH脚本执行一个简单的PHP脚本。这个网站上的答案不能回答我的问题。

这是我的BASH脚本

#!/bin/sh
railmove="/usr/bin/php -q /home/username/subfolder"
php "$railmove"/$shelltest.php

这是我的PHP脚本

#!/usr/bin/php
<html>
<head>
</head><body>

<?php
error_reporting(E_ALL);
ini_set('display_errors',1);             
require('connect_db.php');           
$timer="222222";               
$railinfo2=$mysql_link->prepare('INSERT INTO stillrunning(timer) VALUES(:timer)');
$railinfo2->execute(array(':timer'=>$timer));                          
$mysql_link=null;
?>  
</body>
</html>

从命令行运行BASH脚本时,出现以下错误。

Could not open input file: /usr/bin/php -q /home/username/subfolder/.php

我试过键入/usr/bin/php-q/home/username/subfolder/durable2。这很好。它跑起来了

共有1个答案

易烨磊
2023-03-14

您已经在$railmove字符串中包含了/usr/bin/php。无需再次将php指定为新命令。另外,$shelltest似乎没有定义。

因此:

#!/bin/sh
railmove="/usr/bin/php -q /home/username/subfolder"
$railmove/your-php-script.php

可能有用。

 类似资料:
  • 问题内容: 假设我在网址“ http://mywebsite.com/myscript.txt”处有一个包含脚本的文件: 而且我想先运行该脚本而不先将其保存到文件中。我该怎么做呢? 现在,我已经看到了语法: 但这似乎不像我保存到文件然后执行时那样。例如,readline不起作用,而输出仅为: 同样,我尝试过: 具有相同的结果。 最初我有一个解决方案,例如: 但这似乎草率,我想要一个更优雅的解决方案

  • 问题内容: 我试图找出一种从Golang执行脚本(.sh)文件的方法。我发现了几种简单的执行命令的方法(例如os / exec),但是我要执行的是执行整个sh文件(该文件设置了变量等)。 为此,使用标准的os / exec方法似乎并不简单:尝试输入“ ./script.sh”并将脚本内容加载到字符串中都不能用作exec函数的参数。 例如,这是我要从Go执行的sh文件: 从Go程序中: 其中mong

  • 问题内容: 我想从PHP脚本执行系统上存在的Bash脚本。我的系统上有两个脚本。其中一个是称为at at 的PHP脚本,另一个是称为at at 的Bash脚本。 我的client.php脚本看起来像 我的睾丸看起来像 当我在终端上执行以下操作时 我在终端上得到以下输出 但是当我在打开页面时 我得到以下输出 即使执行了chmod + x testscript,我仍然收到此错误。 我如何从浏览器中获取

  • 问题内容: 我在树莓派上有一个带有2个按钮(打开和关闭)的PHP网页,“打开”按钮重定向到On.php,“关闭”按钮重定向到Off.php在“ / usr / lib / cgi-bin”中,我有一个python脚本我想执行(script.py),我可以通过在终端上键入以下内容来完美地执行它 如果我从终端执行此操作,它将起作用。 问题是我的“ / var / www”文件夹中的PHP文件(On.p

  • 您好,我正在尝试在apache2服务器上运行Raspberry Pi,使用PHP中的pyautogui库执行Python脚本。从命令行执行Python脚本时,我没有遇到任何问题,但通过PHP的“shell_exec”执行时,我收到以下错误消息: 错误登录apache2: 回溯(最近一次调用):文件“/home/pi/Projects/Python/wakeUp.py”,第2行,在导入pyautog

  • 问题内容: 我正在用geb进行功能测试。 我的应用程序是使用virgo部署的,并使用HSQLDB来存储数据。我想在此工作版本的应用程序上执行测试,但是每次运行webtests时,我都想从空数据库开始。 我写了一个简单的bash脚本 这将删除数据库并重新启动处女座。 但是,当我将其添加到build.gradle任务执行命令时,它永远不会结束。 为什么这样呢?当我在控制台中运行此脚本时,它会迅速返回(