shell_exec probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.Net ontwikkelaar - Het schoolsysteem verbeteren!

Bedrijfsomschrijving Onze klant is een prettige en kleinschalige organisatie waar hard gewerkt wordt om het onderwijs te verbeteren. Daarom werken ze aan complexe om administratieve, financiële en facilitaire processen te versnellen en te verbeteren. Dit doen ze vanuit een platte organisatie voor klanten die door geheel Nederland verspreid zitten, hier horen vanzelfsprekend een aantal aansprekende HBO scholen en universiteiten toe. Functieomschrijving Je komt terecht in een organisatie waar op dit moment 2 scrumteams werken. Jij zal als .Net developer binnen 1 van deze scrumteams functioneren, iedereen binnen dit team heeft zijn/haar eigen expertise waardoor er met verschillende invalshoeken aan een

Bekijk vacature »

.NET Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

Senior .NET Developer I goed salaris en deels thui

Bedrijfsomschrijving Mijn opdrachtgever is al ruim 20 jaar een gevestigde naam in de wereld van software ontwikkeling, met drie kantoren in de Randstad, waaronder Alphen aan den Rijn. Zij richten zich op het bouwen van IT-oplossingen die ervoor zorgen dat de productiviteit van klanten te allen tijden optimaal is. Hiervoor neemt jouw nieuwe werkgever het volledige ontwikkelproces tot haar rekening; van het eerste gesprek om de klantwensen in kaart te brengen, tot aan het uiteindelijke onderhoud van de opgeleverde oplossing. In totaal werken er inmiddels bijna 200 gemotiveerde IT-ers binnen deze organisatie. De gemiddelde leeftijd ligt rond de 35. Het

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Ridderkerk zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met

Bekijk vacature »

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »

Front-End React Developer

As a Front-End React Developer you improve the user-experience of our web applications for your colleagues in Coolblue. How do I become a Front-End React Developer at Coolblue? As a Front-End React Developer you are responsible for developing user interface components and implementing them using React.js concepts and workflows. You work with the UX Designer and get energy from coming up with creative solutions and present these within the team. During the day you gather and welcome feedback on your technical and soft skills. Would you like to become a Front-End React Developer at Coolblue? Read below if the job

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Software Developer

Functie omschrijving Veel begeleiding en de kans om je verder te ontwikkelen als software developer. Dat kunnen wij jou bieden bij deelname aan deze leuke traineeship. Je krijgt een mentor toegewezen die jou alle kneepjes van het vak leert. Heb jij al wat ervaring als software developer? Daar worden wij heel blij van! Lees snel verder! Bedrijfsprofiel Als software developer neem je deel aan een trainings programma in de omgeving van Haarlem waar je persoonlijk wordt begeleidt, zodat je alle kneepjes van het vak leert. Aan de hand van jouw kennis en ervaring krijg je een persoonlijk opleidingstraject. Je gaat

Bekijk vacature »

Fullstack developer (NodeJS, React, AWS)

Functie Als Fullstack developer kom je te werken in het ontwikkelteam, maar zoals gezegd komt er veel meer bij kijken dan alleen maar ontwikkelen. Je bent samen met je collega’s continu bezig om de software uit te breiden maar hiernaast doe je doorlopend onderzoek naar de inzet van bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Maar waar staan ze nu? Na een onderzoeksfase van ruim een jaar zijn

Bekijk vacature »

Front-end developer E-Commere

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als front-end developer heb je een adviserende rol en sta je aan het eindpunt van alles wat met designs te maken heeft. Je overlegt met klanten en collega’s, en zet je in om ideeen om te zetten tot unieke concepten. Je bent het aanspreekpunt voor de klant en bewaakt tevens de planning. Eisen

Bekijk vacature »

Digitale Tovenaar Gezocht: Junior Low-code/No-code

Bedrijfsomschrijving Duik mee in een wereld vol innovatieve avonturen waar gegevens en technologie een magische symbiose aangaan! Al meer dan twee decennia lang zijn we de tovenaars achter de schermen die oplossingen creëren voor de meest complexe klantcontactvraagstukken en datagedreven software-uitdagingen. Bij ons draait het om de kracht van samenwerking en groei. We zijn een hechte vriendengroep die samen bergen verzet om elkaar én onze klanten te laten schitteren. Jouw succes is ons succes en we streven ernaar om elkaar naar nieuwe hoogten te tillen, niet voor even, maar voor altijd. We willen dat jij je helemaal thuis voelt in

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

C#.NET Developer

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »
Mike de Klerk

Mike de Klerk

25/10/2010 17:31:29
Quote Anchor link
Hallo,

Ik heb een probleem met shell_exec. Ik krijg geen output terug. Ik heb op mijn linux server een executable qtdump. qtdump maakt een dump van alle atoms in een quicktime bestand.

Via SSH werkt het volgende wel:
./qtdump bestaatniet.mov => "Failed to open"
./qtdump bestaatwel.mov => dumpdata van de atoms
php dump.php => dumpdata van de atoms
* dump.php bevat echo shell_exec("./qtdump bestaatwel.mov");

Via shell_exec() werkt het volgende ook:
./qtdump bestaatniet.mov => "Failed to open"

Via shell_exec() werkt het volgende niet:
./qtdump bestaatwel.mov => geen data

bestaatniet.mov is een verwijzing naar een bestand wat niet bestaan. bestaatwel.mov is een bestand wat wel bestaat. qtdump wordt dus zowel via SSH als shell_exec uitgevoerd, echter wanneer ik een geldig movie bestand opgeef als parameter in shell_exec krijg ik geen output, en in SSH wel. En met SSH ook als ik het php script uitvoer. Het moviebestand heeft chmod 755 en chown hetzelfde als het php script.

Het verschil is natuurlijk dat ik met SSH als root ben ingelogd, en met het PHP script niet. Alle bestanden worden geowned door web110 (de user van het domein).

Wie kan me helpen? Ik ben er al een hele middag mee bezig.

Bij voorbaat dank!
 
PHP hulp

PHP hulp

26/12/2024 13:47:44
 
- SanThe -

- SanThe -

25/10/2010 17:38:48
Quote Anchor link
Je gebruikt het wel op de juiste manier?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$output
= shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>
 
Mike de Klerk

Mike de Klerk

25/10/2010 17:50:37
Quote Anchor link
Ja, via het commando "php dump.php" als root via SSH werkt het script wel! Echter als ik het script via de webbrowser aanroep niet.

In dump.php staat:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo shell_exec("./qtdump ../bestaatwel.mov");
?>
 
Noppes Homeland

Noppes Homeland

25/10/2010 17:56:37
Quote Anchor link
Het is beter om met absolute paden aan de slag te gaan!
 
Mike de Klerk

Mike de Klerk

25/10/2010 18:03:24
Quote Anchor link
dump.php retourneert nu "11" via de webbrowser. En 0 via "php dump.php". Waarbij ik bij "php dump.php" wel dumpdata terugkrijg in mijn SSH window. Maar via de browser niet.

Dit is nu mijn code. De functie heb ik van http://www.php.net/manual/en/function.shell-exec.php#52826 Deze functie zou meerdere output streams afvangen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
$result
= runExternal("/var/www/clients/client1/web110/web/media/tmextracter/qtdump /var/www/clients/client1/web110/web/media/2.mov",$code);

function
runExternal($cmd,&$code) {
        $descriptorspec = array(
            0 => array("pipe", "r"),  // stdin is a pipe that the child will read from
            1 => array("pipe", "w"),  // stdout is a pipe that the child will write to
            2 => array("pipe", "w") // stderr is a file to write to
        );
      
        $pipes= array();
        $process = proc_open($cmd, $descriptorspec, $pipes);
      
        $output= "";
      
        if (!is_resource($process)) return false;
      
        #close child's input imidiately
        fclose($pipes[0]);
      
        stream_set_blocking($pipes[1],false);
        stream_set_blocking($pipes[2],false);
      
        $todo= array($pipes[1],$pipes[2]);
      
        while( true ) {
            $read= array();
            if( !feof($pipes[1]) ) $read[]= $pipes[1];
            if( !feof($pipes[2]) ) $read[]= $pipes[2];
          
            if (!$read) break;
          
            $ready= stream_select($read, $write=NULL, $ex= NULL, 2);
          
            if ($ready === false) {
                break; #should never happen - something died
            }
          
            foreach ($read as $r) {
                $s= fread($r,1024);
                $output.= $s;
            }
        }

      
        fclose($pipes[1]);
        fclose($pipes[2]);
      
        $code= proc_close($process);
      
        return $output;
    }

?>

 




Toevoeging op 25/10/2010 18:18:47:

Nu laat ik een bash script de qtdump uitvoeren. Via SSH werkt het, via de webbrowser krijg ik het volgende terug: "./dump.sh: line 2: 767 Segmentation fault /var/www/clients/client1/web110/web/media/tmextracter/qtdump /var/www/clients/client1/web110/web/media/2.mov code: 139"

Een segmentation fault hoe kan die ontstaan als het via een andere interface wordt uitgevoerd?
Gewijzigd op 25/10/2010 18:19:38 door Mike de Klerk
 
Aad B

Aad B

25/10/2010 19:18:03
Quote Anchor link
check dit for segmentation issues: http://www.cyberciti.biz/tips/segmentation-fault-on-linux-unix.html
Gewijzigd op 25/10/2010 19:18:35 door Aad B
 
Mike de Klerk

Mike de Klerk

26/10/2010 06:07:22
Quote Anchor link
Hallo Aad B,

Bedankt voor je reactie. Wellicht heeft het te maken met
Quote:
Inside a chrooted jail this can occur when critical shared libs, config file or /dev/ entry missing.
Het script behoort tenslotte tot een webuser, en ik via SSH ben root. qtdump zal wel dan misschien libraries aanspreken waar een webuser niet bij kan. Goede beveiliging wel een pain in the *ss als je geen workaround weet.

Ik heb het probleem van de qtdump niet kunnen oplossen. Ik gebruik nu getid3() om een dump te maken van alle atoms in een quicktime bestand.

Bedankt voor de reacties.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.