【问题标题】:Executing a PHP Script From A Bash Script从 Bash 脚本执行 PHP 脚本
【发布时间】:2023-10-17 23:02:01
【问题描述】:

我正在尝试从一个简单的 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.sh 并且效果很好。即它运行

【问题讨论】:

  • 那么$shelltest 是在哪里定义的?

标签: php linux bash shell


【解决方案1】:

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

所以:

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

可能会起作用。

【讨论】:

  • 谢谢。那行得通。 shelltest 前面的 $ 是问题的一部分,添加脚本更改也有帮助