Difference between revisions of "PHP"

From Atomicorp Wiki
Jump to: navigation, search
(Cleaning up a bit)
Line 4: Line 4:
  
 
Step 1) Set up the atomic channel:
 
Step 1) Set up the atomic channel:
  wget -q -O - http://www.atomicorp.com/installers/atomic.sh |sh
+
  wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh
  
Step 2) Upgrade to php5.2.x
+
Step 2) Upgrade to PHP 5.2.x:
 
  yum update
 
  yum update
  
Step 3) Replace the PHP 4 ini with PHP 5.2.x's (if applicable)
+
Step 3) Replace the PHP 4 php.ini with PHP 5.2.x's (if applicable):
 
  mv /etc/php.ini.rpmnew /etc/php.ini
 
  mv /etc/php.ini.rpmnew /etc/php.ini
  
Step 4) Replace the php.conf with the PHP 5.2 php.conf (if applicable)
+
Step 4) Replace the php.conf with the PHP 5.2.x php.conf (if applicable):
 
  mv /etc/httpd/conf.d/php.conf.rpmnew /etc/httpd/conf.d/php.conf
 
  mv /etc/httpd/conf.d/php.conf.rpmnew /etc/httpd/conf.d/php.conf
  
Line 25: Line 25:
  
 
3) execstack -c on any extensions that claim to need an executible stack (ASL users only).  
 
3) execstack -c on any extensions that claim to need an executible stack (ASL users only).  
 
 
 
  
 
'''Known Issues'''
 
'''Known Issues'''
Line 33: Line 30:
 
1) VPS and RHEL users, If you dont use the atomic installer, you're going to miss some dependencies, like sqlite3. Have fun with that!
 
1) VPS and RHEL users, If you dont use the atomic installer, you're going to miss some dependencies, like sqlite3. Have fun with that!
  
2) RHEL4 users (and possibly others) can resolve the sqlite3 dependencies by grabbing rpms from the centOS repositories. The atomic installer fixes this for you automatically. If you dont use it... have fun with that!
+
2) RHEL4 users (and possibly others) can resolve the sqlite3 dependencies by grabbing rpms from the CentOS repositories. The atomic installer fixes this for you automatically. If you dont use it... have fun with that!
http://isoredirect.centos.org/centos/4/os/i386/CentOS/RPMS/
+
  
wget http://isoredirect.centos.org/centos/4/os/i386/CentOS/RPMS/sqlite-3.3.6-2.i386.rpm
+
rpm -Uvh http://isoredirect.centos.org/centos/4/os/i386/CentOS/RPMS/sqlite-3.3.6-2.i386.rpm http://isoredirect.centos.org/centos/4/os/i386/CentOS/RPMS/sqlite-devel-3.3.6-2.i386.rpm
wget http://isoredirect.centos.org/centos/4/os/i386/CentOS/RPMS/sqlite-devel-3.3.6-2.i386.rpm
+
  
rpm -i *.rpm
+
up2date php
 
+
up2date php
+
 
OR
 
OR
yum upgrade php
+
yum update php
  
 
Works like a charm
 
Works like a charm
  
 
+
3) PHP 5.2.5 causes problems with Horde on PSA 8.2.1 and lower. PSA 8.3.0 is supposed to fix it, in the mean time you'll need to modify /etc/httpd/conf.d/zz010_psa_httpd.conf
3) PHP 5.2.5 causes problems with Horde on PSA 8.2.1 and lower. PSA 8.3 is supposed to fix it, in the mean time you'll need to modify /etc/httpd/conf.d/zz010_psa_httpd.conf
+
  
 
Change this:
 
Change this:
 
  php_admin_value include_path "/usr/share/psa-horde:/usr/share/psa-horde/pear:."
 
  php_admin_value include_path "/usr/share/psa-horde:/usr/share/psa-horde/pear:."
 
 
to  
 
to  
 
  php_admin_value include_path "/usr/share/psa-horde/lib:/usr/share/psa-horde:/usr/share/psa-horde/pear:."
 
  php_admin_value include_path "/usr/share/psa-horde/lib:/usr/share/psa-horde:/usr/share/psa-horde/pear:."
  
 
Note this file is changed every time plesk is updated, so you'll need to go back and fix this when it does.
 
Note this file is changed every time plesk is updated, so you'll need to go back and fix this when it does.
 
  
 
4) PHP Fatal error:  Can't load Horde/SessionObjects.php, open_basedir restriction.
 
4) PHP Fatal error:  Can't load Horde/SessionObjects.php, open_basedir restriction.
  
 
See above.
 
See above.
 
  
 
5) General issues with php_admin_value:
 
5) General issues with php_admin_value:
  
 
The fix for now is to replace  the use of php_admin_value with php_value.  I have only tested this as far as the domains on this server. You will find this used all over the place in zz010_psa_httpd.conf, domain level httpd.includes, and most likely in your own customizations. The biggest problems Ive had are with register_globals and include_path, I have not run into any issues with PSA httpd.include files and open_basedir.
 
The fix for now is to replace  the use of php_admin_value with php_value.  I have only tested this as far as the domains on this server. You will find this used all over the place in zz010_psa_httpd.conf, domain level httpd.includes, and most likely in your own customizations. The biggest problems Ive had are with register_globals and include_path, I have not run into any issues with PSA httpd.include files and open_basedir.

Revision as of 10:59, 4 January 2008

PHP 5.2.x installation

To upgrade to PHP 5.2.x on CentOS/RHEL/Fedora:

Step 1) Set up the atomic channel:

wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh

Step 2) Upgrade to PHP 5.2.x:

yum update

Step 3) Replace the PHP 4 php.ini with PHP 5.2.x's (if applicable):

mv /etc/php.ini.rpmnew /etc/php.ini

Step 4) Replace the php.conf with the PHP 5.2.x php.conf (if applicable):

mv /etc/httpd/conf.d/php.conf.rpmnew /etc/httpd/conf.d/php.conf

Step 5) Restart the webserver

service httpd restart

Checklist

1) Source code installations of extensions, like Ioncube loader, or other extensions that have to be updated. Ive created php-ioncube-loader, php-zend-optimizer, and php-eaccelerator packages to fix this for you automatically.

2) php.ini settings, like memory_limit

3) execstack -c on any extensions that claim to need an executible stack (ASL users only).

Known Issues

1) VPS and RHEL users, If you dont use the atomic installer, you're going to miss some dependencies, like sqlite3. Have fun with that!

2) RHEL4 users (and possibly others) can resolve the sqlite3 dependencies by grabbing rpms from the CentOS repositories. The atomic installer fixes this for you automatically. If you dont use it... have fun with that!

rpm -Uvh http://isoredirect.centos.org/centos/4/os/i386/CentOS/RPMS/sqlite-3.3.6-2.i386.rpm http://isoredirect.centos.org/centos/4/os/i386/CentOS/RPMS/sqlite-devel-3.3.6-2.i386.rpm
up2date php

OR

yum update php

Works like a charm

3) PHP 5.2.5 causes problems with Horde on PSA 8.2.1 and lower. PSA 8.3.0 is supposed to fix it, in the mean time you'll need to modify /etc/httpd/conf.d/zz010_psa_httpd.conf

Change this:

php_admin_value include_path "/usr/share/psa-horde:/usr/share/psa-horde/pear:."

to

php_admin_value include_path "/usr/share/psa-horde/lib:/usr/share/psa-horde:/usr/share/psa-horde/pear:."

Note this file is changed every time plesk is updated, so you'll need to go back and fix this when it does.

4) PHP Fatal error: Can't load Horde/SessionObjects.php, open_basedir restriction.

See above.

5) General issues with php_admin_value:

The fix for now is to replace the use of php_admin_value with php_value. I have only tested this as far as the domains on this server. You will find this used all over the place in zz010_psa_httpd.conf, domain level httpd.includes, and most likely in your own customizations. The biggest problems Ive had are with register_globals and include_path, I have not run into any issues with PSA httpd.include files and open_basedir.

Personal tools