PHP for MPE/iX


Sorry: "Nerds only" installation instructions.


WARNING WARNING
This is freeware of dubious quality.
It is quite capable of trashing your database if it stuffs up.
Deploy with care.

While testing to date has been encouraging, if you use this, you do so at your own risk, as per the PHP Licence.

CGI = command line version

  1. This file contains an MPE binary executable. Go to here if you want the source code & build instructions.

  2. Upload this file to your HP3000 in an 8-bit clean bytestream manner to your choice of account & group or directory.

  3. Extract php (the CGI executable) and php.ini from the archive.
    :HELLO USER.ACCOUNT,GROUP
    :XEQ TAR.HPBIN.SYS 'xvzopf ./php-exe.tar.Z'
    
  4. Check the file, group and account permissions. You probably want php globally executable and php.ini globally readable.

  5. Create the link for /usr/local/lib/php.ini
    :HELLO MANAGER.SYS
    :NEWLINK /usr/local/lib/php.ini ;TO=/ACCOUNT/GROUP/php.ini
    
  6. Test it!
    :HELLO USER.ACCOUNT,GROUP
    ./php "-h"
    ./php "-q -i" > ./phpinfo.html
    

DSO = Apache shared library version

  1. This file contains the file libphp4.dso which is intended to be untarred into the libexec directory of your Apache installation. Don't forget to check file ownership & permissions.

  2. Modify your httpd.conf to enable PHP4 (not PHP3). It is easiest just to search for "php", and remove the #'s.

  3. You will still need to download and install the php.ini file as described above. Or copy it from somewhere else. Create a soft link /usr/local/lib/php.ini to wherever you install php.ini & make sure that the Apache server process has read permission.

  4. You will need a reasonably recent Apache. I have only tested with the latest Apache, 1.3.22, which compiles & installs pretty much straight "out of the box" under MPE (Well done, Mark B!). A copy of my Apache installation, installed in the APACHE group of the IX account, is contained in this file. This is configured for the parent process to run as APACHE.IX, while the the child processes run as SERVER.IX.


Also, here is an a copy of HTTPD with PHP statically linked. Restore it with something like:

FILE H=H;DEV=DISC
RESTORE *H;LOCAL;SHOW


The CGI version has been built with full PHP debugging. This means that it checks for memory leaks. The DSO version has been built for speed. I would recommend that scripts be tested using the CGI version, and please report any memory leaks to me.


Back to the Unofficial home page