简体   繁体   中英

Running a bash script using php

I am trying to run a bash script from an html file using php. I've read this question ( how to run a .sh file from php? ) and followed it exactly but cannot seem to get it to work.

I have two files in my downloads folder on my mac. These are the file names and their content:

hello.sh

#! /bin/bash
echo hello world

test.php

<?php
echo shell_exec('sh /Users/steve/downloads/hello.sh');
?>

I ran this command in command line while in the downloads folder:

php test.php

This resulted in a blank page being opened in chrome while I was expecting to get a page with "hello word" in it.

I am also wondering how to get my php code to open a window in chrome like html files do. For example, if I enter this into command line:

open test.html

a new window is opened in chrome running the content of test.html.

Thanks for the help.

Here is an example of how you can create a .php file named "test.php" that runs a shell script named "hello.txt".

This is the code that goes inside "test.php". You can put this code in any directory and it should work fine.

<?php
echo shell_exec('./hello.sh');
?>

This is the code that goes inside "hello.sh". You can put this code in any directory so long as it is in the same directory as "test.php".

#! /bin/bash
echo hello world

Once you have made both these files, go into their directory using command line and enter the following commands:

chmod +x hello.sh
php test.php

The first command (I think) makes "hello.sh" accessible from "test.php". You only need to do this once. The second command runs test.php and should return "hello world".

This can also be used with programs other than shell scripts. For example you could compile a cpp file into a.out (the default name of a compiled c++ file) and run it from the php file by replacing echo shell_exec('./hello.sh'); with echo shell_exec('./a.out');

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM