Difference between revisions of "PHP"
(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 | + | 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 | + | 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 | |
− | + | ||
− | up2date php | + | |
OR | OR | ||
− | yum | + | 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 09: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.