Compdigitec Labs

« | Home | »

Updated Roadsend PHP Compiler 2.9.8 packages

By admin | July 21, 2010

Due to the vast interest in our previous binary package of Roadsend PHP, we have decided to compile a newer, updated version of the Roadsend PHP compiler (v2.9.8). However, due to previous flaws in the way that we compiled the previous PHP compile, many of our readers struggled or were entirely unable to get the compiler installed. As a result, Compdigitec is compiling new, fresh packages to target Ubuntu 9.10 and will make it easier to run Roadsend PHP on your Ubuntu Linux computer.

Prerequisites

Procedure

  1. Download and install the Roadsend PHP binary package:

    Note that the Roadsend PHP debugger (pdb) has been renamed to (roadsend-pdb) due to naming conflict with python.

  2. Create a test PHP file with the following content, and save it as hello.php:
    <?php
    
    // Roadsend PHP testing program
    $words = Array("Hello", "World", "from", "Roadsend PHP!");
    $sentence = implode(" ",$words);
    echo $sentence . "\n";
    exit(0);
    
    ?>
  3. Run:
    pcc hello.php

    to generate a hello executable. Test this executable by running:

    ./hello

    The output of the program should read:

    Hello World from Roadsend PHP!
  4. Now we will test the MicroServer backend, which is a small embedded webserver that allows you to turn your PHP application into a stand-alone webserver:
    pcc -s hello-server --port 44444 hello.php

    to generate the hello-server webserver. Now, we will try to visit the MicroServer:

    ./hello-server

    The server should be up and running by this point. Now point your browser at http://127.0.0.1:44444/hello.php and watch your PHP turn itself into a webserver without Apache.

If you found this article helpful or interesting, please help Compdigitec spread the word. Don’t forget to subscribe to Compdigitec Labs for more useful and interesting articles!

Topics: Linux, PHP | 6 Comments »

6 Responses to “Updated Roadsend PHP Compiler 2.9.8 packages”

  1. nerkn Says:
    July 28th, 2010 at 06:08

    Oving to have a stand alone web server is valueable. congratulations

  2. Argiris Says:
    August 6th, 2010 at 10:39

    First of all thanks for the packages.

    I tried your instructions on both Debian Squeeze (testing) and Ubuntu 10.04 and here are some comments:

    – libmysqlclient15off is no longer available for ubuntu 10.04 (no problem on Debian). It can be manually downloaded though at http://packages.ubuntu.com/karmic/libmysqlclient15off

    – “sudo ln -s / /y” should be “sudo ln -s / /z” in both cases

    – pcc hello.php fails with the following error:

    ERR:
    >>> /usr/bin/ld: cannot find -lcurl
    ERR:
    >>> collect2: ld returned 1 exit status
    ERR:
    Error: problem running command ‘gcc’, exit status 1

    This is as far as I could get. Any ideas?

  3. Matt Says:
    September 11th, 2010 at 08:06

    Ubuntu 10.04 Lucid Lynx
    ———————–
    libmysqlclient15off is no longer available, as noted above, and must be manually installed.

    After all 3 .deb files are installed, executing
    $pcc hello.php
    gives the following error
    -bash: /usr/local/bin/pcc: No such file or directory

    This can be easily solved by creating a symbolic link to where pcc is actually installed
    $ ln -s /usr/bin/pcc /usr/local/bin/pcc

    With that done, everything works fine

  4. GuTS Says:
    September 28th, 2010 at 09:46

    I get the same error Argiris posted above, event doing what Matt said, any solution???
    (-using Ubuntu jaunty 32 bit OS-)

    Good vibe

  5. ullix Says:
    November 16th, 2010 at 14:07

    Looks like I am getting the same error as Argiris, but believe the problem comes up earlier.

    Running:
    pcc -d 2 hello.php
    I get the first error message here:

    >>> running command: gcc, args: (-o hello /home/ullix/hello.o -L /z/usr/lib/bigloo/3.0c -v -L ./ -I ./ -L /usr/lib -I /usr/lib -L /usr/etc/libs -I /usr/etc/libs -L /usr/etc -I /usr/etc -ldl -lm -lphp-runtime_u-3.0c -lprofiler_u-3.0c -lphp-std_u-3.0c -lresolv -lm -lcrypt -lphpeval_u-3.0c -lwebconnect_u-3.0c -lphp-curl_u-3.0c -lcurl -lbigloo_u-3.0c -lbigloogc-3.0c -ldl -lm -lphp-runtime_u-3.0c -lprofiler_u-3.0c -lphp-std_u-3.0c -lresolv -lm -lcrypt -lphpeval_u-3.0c -lwebconnect_u-3.0c -lphp-curl_u-3.0c -lcurl -lbigloo_u-3.0c -lbigloogc-3.0c)
    >>> Using built-in specs.
    ERR: Target: i686-linux-gnu

    Now, uname -a outputs “… i686 GNU/Linux”. Is that a wrong target?

    (using ubuntu maverick in virtualbox)

  6. ullix Says:
    November 18th, 2010 at 13:46

    installing libcurl4-gnutls-dev (which pulled in a lot more packages) did the trick under Ubuntu Lucid; it now compiles without error. Maybe the only defect was missing header files ??

    The lines beginning with ERR: still come up, but nothing following. Is that PCC’s weird way of saying there weren’t any errors?

Comments