|
 |
This section contains notes and hints specific to installing PHP
on HP-UX systems. (Contributed by paul_mckay at clearwater-it dot co dot
uk).
Замечание:
These tips were written for PHP 4.0.4 and Apache 1.3.9.
You need gzip, download a binary distribution from
http://hpux.connect.org.uk/ftp/hpux/Gnu/gzip-1.2.4a/gzip-1.2.4a-sd-10.20.depot.Z
uncompress the file and install using swinstall.
You need gcc, download a binary distribution from
http://gatekeep.cs.utah.edu/ftp/hpux/Gnu/gcc-2.95.2/gcc-2.95.2-sd-10.20.depot.gz.
uncompress this file and install gcc using swinstall.
You need the GNU binutils, you can download a binary distribution from
http://hpux.connect.org.uk/ftp/hpux/Gnu/binutils-2.9.1/binutils-2.9.1-sd-10.20.depot.gz.
uncompress this file and install binutils using swinstall.
You now need bison, you can download a binary distribution from
http://hpux.connect.org.uk/ftp/hpux/Gnu/bison-1.28/bison-1.28-sd-10.20.depot.gz,
install as above.
You now need flex, you need to download the source from one of the
http://www.gnu.org mirrors. It is in the non-gnu directory of the ftp
site. Download the file, gunzip, then
tar -xvf it. Go into the newly created flex directory
and run ./configure, followed by
make, and then make install.
If you have errors here, it's probably because gcc etc. are not in your
PATH so add them to your PATH.
Download the PHP and apache sources.
gunzip and tar -xvf them. We
need to hack a couple of files so that they can compile OK.
Firstly the configure file needs to be hacked because it seems to lose
track of the fact that you are a hpux machine, there will be a better
way of doing this but a cheap and cheerful hack is to put
lt_target=hpux10.20 on line 47286 of the configure
script.
Next, the Apache GuessOS file needs to be hacked. Under
apache_1.3.9/src/helpers change line 89 from echo
"hp${HPUXMACH}-hpux${HPUXVER}"; exit 0 to: echo
"hp${HPUXMACH}-hp-hpux${HPUXVER}"; exit 0
You cannot install PHP as a shared object under HP-UX so you must
compile it as a static, just follow the instructions at the Apache
page.
PHP and Apache should have compiled OK, but Apache won't start. you
need to create a new user for Apache, e.g. www, or apache. You then
change lines 252 and 253 of the conf/httpd.conf in
Apache so that instead of
User nobody
Group nogroup |
you have something like
This is because you can't run Apache as nobody under hp-ux. Apache and
PHP should then work.
HP-UX specific installation notes
Vinayak
23-Mar-2006 04:14
Installing PHP 5.x with Apache 2.x on HP UX 11i and configuring
PHP 5.x with Oracle 9i
I am very glad to share this information to configure PHP 5.x work
with Apache 2.x and Oracle 9i on HP UX 11i.
Step 1: Install Apache 2.x with DSO support:
--------------------------------------------
This is a stratight forward Apache installation with
--enable-so option
gzip -d httpd-2_0_NN.tar.gz
tar xvf httpd-2_0_NN.tar
cd httpd-2_0_NN
./configure \
--prefix=/var/apps/apache2 \
--enable-so \
--enable-mods-shared=most \
--libexecdir=/var/apps/apache2/libexec
You can add other options as required.
make
make install
Step 2: Install and configure PHP 5.x with Oracle 9i
----------------------------------------------------
Edit the ./configure file to change "$OCI8_DIR/lib" as "$OCI8_DIR/lib32"
By default, with Oracle 9i, "$OCI8_DIR/lib" will be poiting to
Oracle 64 bit libraries in "$OCI8_DIR/lib64" directory.
Unfortunately, PHP 5.x does not work with 64 bit oracle shared libraries.
Run configure..
$ ./configure \
--prefix=/var/apps/php \
--with-apxs2=/var/apps/apache2/bin/apxs \
--with-oci8=/oracle/app/product/9.0.2 \
--disable-libxml \
--enable-libgcc \
--enable-ftp \
--enable-calendar \
--enable-track-vars \
--enable-trans-sid \
--enable-sigchild \
--libexecdir=/var/apps/apache2/libexec \
--with-config-file-path=/var/apps/apache2/conf
--enable-libgcc \
--enable-sigchild \
You can add other options as required. You can use the --help
option to configure to get a complete list.
After configure runs, you must edit the file libtool.
$ vi ./libtool
At line 184, you should change the line from:
deplibs_check_method="unknown"
to
deplibs_check_method="pass_all"
so that PHP and mod_php are properly compiled.
3. Compile and install the files.
Run make. This should complete normally.
$ make
Run make install. This will fail when it attempts to call apxs.
$ make install
Step 3: Configure Apache 2.x
----------------------------
Edit httpd.conf file to include
For PHP 5:
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php .phtml
Set environment variables in $APACHE_ROOT/bin/envvars file
SHLIB_PATH="/var/apps/apache2/lib:$SHLIB_PATH"
export SHLIB_PATH
LD_LIBRARY_PATH=$ORACLE_HOME/app/product/9.0.2
/lib32
export LD_LIBRARY_PATH
LD_PRELOAD=/usr/lib/libpthread.sl:$ORACLE_HOME/app/
product/9.0.2/JRE/lib/PA_RISC/native_threads/libjava.sl
export LD_PRELOAD
After lot of hard work, by following the above procedure,
we were able to make PHP 5.x is work with Apache 2.x
and Oracle 9i on HP UX 11i OS.
Hope this will save your time!!
flconseil at yahoo dot fr
23-Jan-2006 06:47
If hpws is not an option for you, or if you want to build Apache and PHP with your own options and extensions, I have written a step by step tutorial.
It explains how to build Apache 2.0 and PHP 5 from scratch on HP-UX 11i (11.11), including most modules and extensions (zlib, SSL, LDAP, iconv, expat, xml, xslt, gd, png, Xpm, jpeg, freetype, bzip2, curl, MySQL, PostgreSQL, Oracle, AdoDB) :
http://flaupretre.free.fr/redir.php?key=build_apa_php
Marcus dot Reimann at reimann-systemberatung dot de
29-Aug-2003 07:50
If you need an Apache2-Server with PHP4 under HP-UX 11.x, it's a good way to download the HP-WebServer from the HP-Website (http://software.hp.com). The HP-Webserver comes with numerous moduls. First install the HP-Webserver (swinstall -s /absolute_path_to_depot_file/name_of_depot_file). After that, download the newest PHP-Version from http://www.php.net (HP ships the HP-Webserver with an old PHP-Version) and unpack the tar-file in a working-directory.
Use the following parameters for configure PHP:
./configure --with-apxs2=/opt/hpws/apache/bin/apxs --prefix=/opt/hpws/apache/php [and so on...]
If configure prints the error "expr: An integer value was expected.", than you have to edit the Script "configure". Replace the line:
APACHE_VERSION=`expr $4 \* 1000000 + $5 \* 1000 + $6`
with the following (correct and very long) line:
APACHE_VERSION=`$APXS_HTTPD -v | head -1 | cut -f3 -d' ' | cut -f2 -d'/' | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
Why? The output of "httpd -v" prints the following string:
Server version: HP-UX_Apache-based_Web_Server/2.0.46
Server built: Jun 26 2003 04:41:28
But the configure-Script can't deal with this string.
jason dot sheets at hp dot com
27-Feb-2003 02:45
In order to use PHP 4.3.0 on HP-UX 11 I've found I must compile it statically with Apache, it does not build as a module.
jsheets at shadotech dot com
30-Sep-2002 11:42
To clarify the my $dso_ext = "so"; comment, you can find my $dso_ext = "so"; in your apxs script you need to change that line to my $dso_ext = "sl"; otherwise make install will fail.
nikrou at ifrance dot com
08-Aug-2002 04:32
On HP-UX 11.00, there's a problem to compiling PHP as a DSO module. The script apxs is looking fot libphp4.so instead of libphp4.sl. Change the line in the script (search "extension").
Write : my $dso_ext = "sl";
instead of : my $dso_ext = "so"; // old line
Nicolas
ichoudhury007 at yahoo dot com
30-May-2002 09:11
On HP-UX 11 ... When you are compiling PHP as DSO, you will encounter an error during "make install"
/usr/local/apache/bin/apxs -i -a -n php4 libs/libphp4.sl
apxs:Error: file libs/libphp4.sl is not a DSO
*** Error exit code 1
---- This is because installation is looking for libphp4.so instead of sl. You can rename or link as libphp4.so and run
james at nospam dot hp dot com
28-Jan-2002 07:46
To build for HP-UX 10.X/11.X (and some other UNIX variants) with '--enable-sockets', you'll get an error about 'u_int' being redefined in /usr/include/netinet/in.h and ext/sockets/sockets.c will fail to compile. The problem is this line from main/php_config.h:
#define in_addr_t u_int
The above define is a problem because HP-UX (and some other UNIXs) typedef in_addr_t. A good workaround is to replace this define in main/php_config.h with the lines from the HP-UX 11.X netinet/in.h header file (which will work for 10.X as well):
#ifndef _IN_ADDR_T
#define _IN_ADDR_T
#ifdef __LP64__
typedef unsigned int in_addr_t;
#else
typedef unsigned long in_addr_t;
#endif
#endif
spam at adhocinc dot com
11-Oct-2001 02:35
For PHP 4.0.6 under HP-UX 11.00, I ran into errors during the compilation related to "LC_CTYPE" and other "LC_" vars. The compilation complained that "LC_" such and such first used in such and such function. (I think the error first came up in php_pcre.c, then in basic_functions.c). The solution was to add "#include <locale.h>" to the php.h file. Compilation was successful after that was added, with no other issues. Used gcc 2.95.3, apache 1.3.20, bison 1.28, flex 2.5.4.a.
steven at oakleafconsultancy dot com
23-Jul-2001 08:28
Just a quick point to those of you (like me!) who might not be sharp enough to notice this: If you want to install PHP on an HP-UX 11.x box then you'll need to download and install the 11.x (not 10.20) versions of the software (like gcc and bison). I didn't notice this and spent a large proportion of a day trying to figure out why the software wouldn't install!
Steve
marshalm at ebrd dot com
17-May-2001 10:58
HP-UX 11.X PA-RISC installation with oracle (oci8). You need to install the HP-UX patch PHSS_22514 patch (updated libdld.sl), otherwise you will get errors with dlopen() and dlclose() not found during the apache integration stage.
jonas__linden at hotmail dot com
22-Jan-2001 09:05
Building under HP-UX11
If you are using HP ANSI C you have to add +e i.e -Aa -D_HPUX_SOURCE +e
| |