Firesky Skrevet 5. september 2007 Del Skrevet 5. september 2007 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? Lenke til kommentar
Gjest Slettet+142 Skrevet 6. september 2007 Del Skrevet 6. september 2007 Får vi se hvordan du har prøvd å kjøre bash-skriptet da? Lenke til kommentar
Firesky Skrevet 6. september 2007 Forfatter Del Skrevet 6. september 2007 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. Lenke til kommentar
ilpostino Skrevet 6. september 2007 Del Skrevet 6. september 2007 men ingenting skjer skrevet riktig sti til scriptet? Lenke til kommentar
Firesky Skrevet 6. september 2007 Forfatter Del Skrevet 6. september 2007 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. Lenke til kommentar
Firesky Skrevet 6. september 2007 Forfatter Del Skrevet 6. september 2007 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 Lenke til kommentar
Crowly Skrevet 6. september 2007 Del Skrevet 6. september 2007 (endret) Du kan prøve med system() eller passthru(), som er to andre funksjoner for å starte eksterne scripts/programmer på. Endret 6. september 2007 av crowly Lenke til kommentar
Firesky Skrevet 6. september 2007 Forfatter Del Skrevet 6. september 2007 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 Lenke til kommentar
Ernie Skrevet 6. september 2007 Del Skrevet 6. september 2007 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. Lenke til kommentar
Firesky Skrevet 6. september 2007 Forfatter Del Skrevet 6. september 2007 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 ) Vil du gi en mer n00b-forklaring på det? Lenke til kommentar
Ernie Skrevet 6. september 2007 Del Skrevet 6. september 2007 \' blir oversatt til ' Det finnes en hel del andre tegn som må/kan escapes, deriblant " og $. Dvs. \" vil gi " og \$ vil gi $. Lenke til kommentar
Firesky Skrevet 6. september 2007 Forfatter Del Skrevet 6. september 2007 ahh nå er jeg med på hva du mener, det er samme greiene i C også (har litt erfaring med C) Lenke til kommentar
Ernie Skrevet 6. september 2007 Del Skrevet 6. september 2007 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 " ". Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå