Looking for a sample to execute PHP using Execute Program

thomas_wiedmannthomas_wiedmann Member Posts: 60 Guru
edited December 2018 in Help

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.







  • Options
    thomas_wiedmannthomas_wiedmann Member Posts: 60 Guru

    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?


  • Options
    thomas_wiedmannthomas_wiedmann Member Posts: 60 Guru

    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?

  • Options
    jczogallajczogalla Employee, Member Posts: 144 RM Engineering

    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.




  • Options
    thomas_wiedmannthomas_wiedmann Member Posts: 60 Guru

    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..



    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 ---
    cd d:\wiedmann\tools\php-5.6.13-Win32-VC11-x86
    php rapidminer.php

    4) rapidminer.php looks like..

    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';

    echo 'start php-4';

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

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

    echo 'start php-6';




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




    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" ?




    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








Sign In or Register to comment.