« ASP.NET GridView All-In-One Quick Reference | Home | Fixing “Error: window.location.refresh is not a function” »
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
- Uninstall any old versions of Roadsend PHP and bigloo on your computer.
- Install the packages libgtk2.0-0, libpcre3, libfcgi, libmysqlclient15off and libsqlite3-0 like such:
sudo apt-get install libgtk2.0-0 libpcre3 libfcgi libmysqlclient15off libsqlite3-0
- Install unofficial bigloo and set up the bigloo symlink like such:
sudo ln -s / /z
Procedure
- Download and install the Roadsend PHP binary package:
- roadsend-php-unofficial.deb (4.8 MB)
Note that the Roadsend PHP debugger (pdb) has been renamed to (roadsend-pdb) due to naming conflict with python.
- 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); ?>
- 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!
- 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 »
July 28th, 2010 at 06:08
Oving to have a stand alone web server is valueable. congratulations
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?
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
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
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)
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?