Roadsend-php :: alternative php compiler
Contents
roadsend-php
Το λογισμικό Roadsend php είναι ελεύθερη και ανοιχτού κώδικα υλοποίηση της γλώσσας PHP
Roadsend PHP is a free, open source implementation of the PHP language
ΣΗΜΕΙΩΣΗ: : Η εταιρεία roadsend εστιάζει στην ανάπτυξη ενός νέου native php compiler με κωδικό όνομα raven.
Εάν κάποιος επενδύσει στο roadsend-php καλό θα είναι να έχει κι αυτό στο μυαλό του, περισσότερα εδώ http://code.roadsend.com/rphp
Requirements
Για να εγκαταστήσουμε στο σύστημά μας την roadsend-php χρειάζεται να έχουμε εγκαταστήσει τουλάχιστον
την πλατφόρμα Bigloo (Scheme implementation).
Η αρχική σελίδα του Bigloo είναι η εξής: http://www-sop.inria.fr/mimosa/fp/Bigloo/
και η τελευταία έκδοση (μέχρι την ώρα που γράφτηκε αυτό το άρθρο) : 3.2a-2
ftp://ftp-sop.inria.fr/mimosa/[..]/bigloo3.2a-2.tar.gz
wget -c ftp://ftp-sop.inria.fr/mimosa/fp/Bigloo/bigloo3.2a-2.tar.gz tar zxvf bigloo3.2a-2.tar.gz cd bigloo3.2a-2 .configure make make install
Επίσης εάν θέλουμε να εγκαταστήσουμε την roadsend-php ώστε να μπορεί να λειτουργεί και μέσω fast-cgi
χρειάζεται να εγκαταστήσουμε και τις βιβλιοθήκες της fast-cgi
Αρχική σελίδα: http://www.fastcgi.com
Τελευταία έκδοση (μέχρι την ώρα που γράφτηκε αυτό το άρθρο): 2.4.0
http://fastcgi.com/dist/fcgi-2.4.0.tar.gz
wget -c http://fastcgi.com/dist/fcgi-2.4.0.tar.gz tar zxvf fcgi-2.4.0.tar.gz cd fcgi-2.4.0 ./configure make make install
Installation
Μία πολύ απλή εγκατάσταση μπορεί να γίνει με τις παρακάτω εντολές:
Τελευταία έκδοση (μέχρι την ώρα που γράφτηκε αυτό το άρθρο): 2.9.8
http://code.roadsend.com/snaps[..]nd-php-2.9.8.tar.bz2
$ wget -c http://code.roadsend.com/snaps/roadsend-php-2.9.8.tar.bz2 $ tar jxvf roadsend-php-2.9.8.tar.bz2 $ cd roadsend-php-2.9.8.tar.bz2 $ ./configure $ make $ make install
Με τις παραπάνω εντολές έχουμε καταφέρει να εγκαστήσουμε τον roasend-php compiler
Φυσικά με την εντολή:
./configure --help
Κι εάν (όπως εγώ δλδ) θέλει κάποιος να εγκαταστήσει τον roadsend-php compiler με την υποστήριξη fast-cgi
(αφού έχει κάνει την εγκατάσταση των βιβλιοθηκών του fast-cgi) τότε πρέπει να ξαναγράψει το configuration ως εξής:
./configure --with-fcgi
Check
Για να δούμε την έκδοση του προγράμματος
$ /usr/local/bin/pcc --version 2.9.8
Για να δούμε περισσότερες πληροφορίες:
/usr/local/bin/pcc --help
Για να δούμε ότι όλα παίζουν σωστά μπαίνουμε σε interactive shell και απλά γράφουμε phpinfo();
$ /usr/local/bin/pcc -a Interactive shell pcc > phpinfo(); Roadsend PHP/2.9.8 Copyright (c) 2009 Roadsend, Inc. == Include Paths == ./ ./ == PHP Libraries == libphp-sqlite_u-3.0c.so libphp-mysql_u-3.0c.so libphp-xml_u-3.0c.so libphp-pcre_u-3.0c.so libphp-curl_u-3.0c.so libphp-std_u-3.0c.so == Environment == MANPATH => :/usr/local/samba/share/man:/opt/java/man:/opt/bind/share/man SHELL => /bin/bash TERM => xterm USER => root LS_COLORS => no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36: LIBGL_DRIVERS_PATH => /usr/lib/dri MAIL => /var/mail/root PATH => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/thunderbird:/opt/firefox:/usr/local/samba/bin:/usr/local/samba/sbin:/opt/java/bin:/opt/bind/bin:/opt/bind/sbin PWD => /root LANG => en_US.utf-8 LC => en_US.utf-8 SHLVL => 1 HOME => /root LANGUAGE => en_US.utf-8 LOGNAME => root LESSOPEN => | /usr/bin/lesspipe %s LESSCLOSE => /usr/bin/lesspipe %s %s _ => /usr/local/bin/pcc OLDPWD => /opt/nginx/conf
Fast-CGI
Αφού ολοκληρώσουμε την εγκατάσταση είμαστε έτοιμοι να δούμε ότι όλα είναι δουλεύουν σωστα.
Κάνωντας χρήση του http://nginx.net/ που εγκατέστησα πριν από λίγες μέρες
(περισσότερα εδώ: https://balaskas.gr/wiki/nginx )
τρέχω τον roadsend-php compiler σε fast-cgi
/usr/local/bin/pcc.fcgi -d 1 -a 127.0.0.1 -e 8888
Και στην συνέχεια στον firefox πληκτρολούμε την εξής ηλεκτρονική διεύθυνση:
http://localhost/p.php
Το οποίο θα μας επιστρέψει την παρακάτω εικόνα:
file:roadsend.jpeg
ΣΗΜΕΙΩΣΗ: Στην εικόνα βλέπεται την πόρτα 8080, μιας κι εκεί τρέχω τον nginx web server μου.