Gå til innhold

Kjøre bash script fra php


Anbefalte innlegg

Skrevet

Først av alt må jeg at at jeg er ny med PHP.

Jeg sitter her å leker meg med shell_exec() og exec() og får den til å spytte ut systeminfo på siden.

Men så kom jeg til der hvor jeg måtte bruke slik tegn som er samme som man bruker i begynnelsen og slutt av kommandoen, inni kommandoen, en slik: '

Så derfor lagde jeg et bash script som utfører denne kommandoen og jeg kjører bash scriptet fra exec(), men ingenting skjer, jeg tester shell_exec() men ingenting skjer da heller.

Jeg har sjekka rettigheter på scriptet og det skal stemme, jeg kan fint kjøre den fra shell på PCen, men altså ikke med php.

Hva gjør jeg galt?

Videoannonse
Annonse
Gjest Slettet+142
Skrevet

Får vi se hvordan du har prøvd å kjøre bash-skriptet da? :)

Skrevet

Slik ser bash scriptet ut:

#!/bin/bash
ifconfig |grep inet |tail -n 4 |cut -d':' -f2 |line 1 |cut -d' ' -f1

 

å dette er biten av php koden som skal spytte ut det som kommer fra scriptet:

<?php $ipinfo = exec('ipscript');
echo $ipinfo;
?>

 

scriptet har 777 på rettigheter, pga jeg har dreve å testa ut rettighetene på den.

Skrevet
men ingenting skjer

 

skrevet riktig sti til scriptet?

9436720[/snapback]

ja, jeg la det inn i /usr/bin også for å teste, men funka like dårlig det.

Skrevet

Spiller ikke så mye rolle nå igrunnen, jeg fant en annen måte å få tak på intern IPen på.

echo $_SERVER['SERVER_ADDR'];

 

Men hvis noen har svar på hvorfor jeg ikke får kjørt scriptet mitt så er jeg takknemlig for det :)

Jeg kommer nok til å skulle mekke meg et par script jeg skal kjøre fra php, siden jeg driver å mekker meg et lite webinterface til serveren min :)

Skrevet

Er usikker om jeg testa system(), men jeg testa med passthru() og den ville ikke heller.

Skal sjekke med system() neste gang jeg skal kjøre et script :)

Skrevet

Hvorfor lagre det som et bash-script? Hva med å bare "escape" ' ? Da slipper man iallfall unna en feilkilde i at PHP ikke finner bash-scriptet.

Skrevet
Hvorfor lagre det som et bash-script? Hva med å bare "escape" ' ? Da slipper man iallfall unna en feilkilde i at PHP ikke finner bash-scriptet.

9437772[/snapback]

umm.... som jeg sa er jeg ny med php (jeg begynte i går :p )

Vil du gi en mer n00b-forklaring på det?

Skrevet

Ja, det fungerer vel rimelig likt mener jeg å huske. Man har jo \n, \t og \r for henholdsvis line feed, tab og carriage return. Så har man i tillegg også mulighet for å dytte inn tegn v.hj.a hex-nummer på tegnet (\xHEX) eller ev. i 8-tallssytemet (\OCTAL). Finnes nok uforvelig mye mer også, men uannsett, dette gjelder primært strenger man lager med " ".

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...