Passing variable from PHP to bash script

Tags
apache config, solved, web

Login to Reply

 
Thread Tools Search this Thread
# 1  
Old 12-08-2017
Passing variable from PHP to bash script

I am totally new to PHP and I am trying to create a script that will as a user for a hostname and then use the "hostname" variable to generate a report using REST API.

I am able to create the html script and php script to GET the "hostname" but I am having trouble passing the hostname variable to the bash script which generates the report using REST API.

This is the html script
Code:
<html>
<body>

<form action="test.php" method="get">
Enter Hostname: <input type="text" name="hostname"><br>
<input type="submit">
</form>

</body>
</html>

This is my php script

Code:
Hostname to Query is <?php echo $_GET["hostname"];

$hostname = $argv[1];

#echo "This is $hostname\n";

#$result = shell_exec('/var/www/html/scripts/REST-API/dpa_reports.sh ' . $hostname);
$result = shell_exec('/var/www/html/scripts/REST-API/dpa_reports.sh ' . $hostname);

echo $result;

?><br>

---------- Post updated at 12:38 PM ---------- Previous update was at 12:33 PM ----------

if I do the following from the command line it passes the "hostname" variable to the bash script dpa_report.h script fine. But when I submit the "hostname" from my browser it does not pass the variable...

this command line works

Code:
php test.php hostname-test

# 2  
Old 12-08-2017
php variable $hostname is undefined.
Replace
Code:
$hostname=$argv[1]

with
Code:
$hostname=$_GET["hostname"];

Assuming that you are using Apache as the web server, you can do the following:
Start an additional terminal window, and run "tail -f /var/log/apache2/error.log". You will get al running list of errors from your web development.
# 3  
Old 12-08-2017
Thank jgt That fixed that particular problem. Now I am getting a curl error though. If I run the curl from the command line I have no issue but when it is called from the php script which calls the bash script I get this error

Code:
curl: (7) Failed to connect to 172.16.120.152: Permission denied

The curl command works fine when I do it from the command line.

Any idea why this is happening?

---------- Post updated at 03:36 PM ---------- Previous update was at 03:34 PM ----------

This is the curl command (I have taken out the username and password

curl -u usernameSmilieassword http://seieadpa01:9004/apollo-api/no...%3dseiemccli01

---------- Post updated at 03:38 PM ---------- Previous update was at 03:36 PM ----------

sorry I never put code around

Code:
curl  -u username:password http://seieadpa01:9004/apollo-api/nodes/?query=name%3dhostname

# 4  
Old 12-08-2017
Are the username and password literals, and can you post the balance of the script that includes the curl statement?
# 5  
Old 12-08-2017
This the bash script (dpa_report.sh) that creates the REST -API report. I have taken out the actual username and password for the purposes of this post. If I run this script from the command line and pass it the hostname it works. For example

Code:
./dpa_report hostname

works. The hostname is set to $1 in the script.

But when dpa_report.sh is called from the php script I get the permission errors.


Code:
#!/bin/bash

export HOME=/var/www/html/scripts/REST-API
export TEMP_DIR=/var/www/html/scripts/REST-API/Temp

curl  -u "username:password" http://seieadpa01:9004/apollo-api/nodes/?query=name%3d$1 > $TEMP_DIR/test_file.txt

HOST_ID=`cat $TEMP_DIR/test_file.txt | grep "<id>"`

cat $HOME/host_query_input_file.out | awk -v ID="$HOST_ID" '{if ($1~/\<id>/) $1=ID ;print}' > $TEMP_DIR/host_query_input_file.out

curl -u username:password -X POST -H "Content-Type:application/vnd.emc.apollo-v1+xml" --data "@/var/www/html/scripts/REST-API/host_query_input_file.out" http://seieadpa01:9004/dpa-api/report -o $TEMP_DIR/test_xml.out

LINK=$(grep link $TEMP_DIR/test_xml.out)
LINK="${LINK#*>}"
LINK="${LINK%<*}"

export LINK

sleep 5


curl -u username:password $LINK > /var/www/html/REPORTS/$1.html

# 6  
Old 12-08-2017
Add
Code:
echo $1 >>/tmp/test.log

ahead of the curl statement
# 7  
Old 12-08-2017
I actually had that in there earlier and it does write to that file with the hostname. the hostname I have been using for testing is seiemccli01

This is the file entry after I run (172.16.117.145 is the apache web server)

Code:
http://172.16.117.145/host_read.html

Code:
[root@seinwnprd02 html]# cat /tmp/test.out
seiemccli01
[root@seinwnprd02 html]#

Login to Reply

|
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Similar Threads More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Passing variable from bash to perl script NileshJ Shell Programming and Scripting 6 02-03-2016 11:23 AM
Passing arguments to a bash script shree11 Shell Programming and Scripting 8 06-11-2014 06:06 AM
Passing string from SQL to a BASH script JonP Shell Programming and Scripting 3 12-11-2013 09:02 AM
Passing variable as an argument to another script Manasa Pradeep Shell Programming and Scripting 9 09-13-2013 08:49 AM
Passing string as variable(s) in bash Starting_Leaf Shell Programming and Scripting 2 04-06-2013 03:35 PM
Trouble with passing Variable from bash to awk gsub command Nostyx Shell Programming and Scripting 9 12-09-2011 08:32 AM
Passing variables from bash to php-cli robbee Shell Programming and Scripting 0 05-09-2011 02:42 PM
help passing variable from script Grueben Shell Programming and Scripting 2 03-31-2011 07:08 AM
Passing Bash variable to javascript numele Shell Programming and Scripting 3 04-12-2010 07:38 PM
Passing a MySql password from bash script codenjanod Shell Programming and Scripting 2 11-26-2009 07:44 AM
passing variable from bash to perl from bash script arsidh Shell Programming and Scripting 10 06-04-2008 01:25 PM
Passing options to a bash script DeCoTwc Shell Programming and Scripting 3 05-21-2008 02:43 AM
passing asterisk to a script as variable GKnight Shell Programming and Scripting 9 04-02-2008 11:32 AM
passing variable to my script aladdin UNIX for Dummies Questions & Answers 5 06-18-2007 10:34 AM
Passing a variable into an awk script Khoomfire UNIX for Advanced & Expert Users 5 09-05-2006 09:44 AM
All times are GMT -4. The time now is 04:17 PM.

Unix & Linux Forums Content Copyright 1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password





Not a Forum Member?
Forgot Password?