Looking for a sample to execute PHP using Execute Program

thomas_wiedmann
thomas_wiedmann New Altair Community Member
edited November 2024 in Community Q&A

I'm looking for a sample to execute PHP (Skripts) using "Execute Program". Current I get some error. Rapidminer can't find php. Please look at images.

 

Thanks,

Thomas

 

 

Welcome!

It looks like you're new here. Sign in or register to get started.

Answers

  • thomas_wiedmann
    thomas_wiedmann New Altair Community Member

    some add:

     

    command: cmd /c start  "D:\Wiedmann\Tools\php-5.6.13-Win32-VC11-x86"  php -h

    sems to be a little bit better. Is this the right way to do so?

     

  • thomas_wiedmann
    thomas_wiedmann New Altair Community Member

    may this

     

    cmd /c start  "php -f rapidminer.php"

    but my php skript did'nt start. Maybe I get empty CMD console, but php did'nt run the script.

     

    Seems difficult. Any comment?

  • jczogalla
    jczogalla New Altair Community Member

    Hi Thomas,

     

    from my experience it is like this: If you can execute that script in your normal Windows cmd, then it should also be able to run from within RapidMiner.

    Can you tell a little bit more of your setup? Which Windows version are you using? Is the path you posted your project or your php installation directory?

    I would think that something like

    C:\<php install path>\php <project path>\rapidminer.php

    should work.

     

    Cheers

    Jan

  • thomas_wiedmann
    thomas_wiedmann New Altair Community Member

    Thanks Jan. Thats true, but my problem is, that PHP don't find the PIPE Data from "Write CSV".

     

    1) Model Looks like attached image..model.JPG

     

     

    2) parameter from Execute Program looks like..

    execute.JPG

     

    command: cmd /c  start D:\Wiedmann\Tools\php-5.6.13-Win32-VC11-x86\rapidminer-start-php.bat

     

    working directory: D:\Wiedmann\Tools\php-5.6.13-Win32-VC11-x86\

     

    3) rapidminer-start-php.bat looks like

    rem --- rapidminer-start-php.bat ---
    d:
    cd d:\wiedmann\tools\php-5.6.13-Win32-VC11-x86
    php rapidminer.php

    4) rapidminer.php looks like..

    <?php
    echo 'start php';

    // $data = stream_get_contents(STDIN);
    $data = array();

    // https://stackoverflow.com/questions/5891888/piping-data-into-command-line-php
    // TEST $fp = readfile("php://stdin");

    echo 'start php-2';
    while($f = fgets(STDIN)){
    echo "line: $f";
    $data[] = $f;
    }

    echo 'start php-3';
    var_dump($data);

    sort($data);
    echo 'start php-4';

    if (empty($data)) {
    $data = array ( 1, 2, 3 );
    }
    echo 'start php-5';

    fwrite(STDOUT, implode(';',$data));

    echo 'start php-6';

    ?>

     

    Problem:

    PHP get no piped information. PHP ist readin on STDIN and wait forever. My breakpoint after shows me this Box

     

    box.jpg

     

    PHP script is still waiting on echo "php-2" forever. PHP waits on console INPUT.

     

    Big Question: Why "Write CSV" Data are not piped to "Execute Program" ?

     

     

    EDIT

    This for example work well and PHP get piped data from dir.

    D:\Wiedmann\Tools\php-5.6.13-Win32-VC11-x86>dir | php rapidminer.php

     

     

     

     

     

     

     

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.