Article ID: 115833, created on Oct 21, 2013, last review on May 11, 2014

  • Applies to:
  • Plesk 12.5 for Linux
  • Plesk 12.0 for Linux
  • Plesk 11.0 for Linux
  • Plesk 11.5 for Linux

Aggiornamento da PHP 5.2

1. Esegui Parallels Autoinstaller dalla console del server.

2. Sulla lista di componenti principale, verifica che l'opzione Supporto PHP5 sia selezionata.

3. Esci da Parallels Autoinstaller.

4. Installa i Repository Epel e Remi:
# wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

# sudo rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm
5. Abilita il Repository Remi:
# sudo vi /etc/yum.repos.d/remi.repo
Nella sezione [remi] del file, imposta l'opzione "abilitato" su 1.
 
6. Aggiorna PHP con questo comando:
# yum install php

Aggiornamento da PHP 5.3

1. Esegui Parallels Autoinstaller dalla console del server.

2. Sulla lista di componenti principale, verifica che l'opzione Supporto PHP53  sia selezionata.

3. Esci da Parallels Autoinstaller.

4. Rimuovi tutti i componenti PHP 5.3 e il configuratore PHP 5.3.
È possibile controllare quali pagine saranno rimosse seguendo il seguente comando:
# rpm -qa | grep 'php53-'
tutti i pacchetti elencati verranno rimossi dai seguenti comandi:
# rpm -e --nodeps `rpm -qa | grep psa-php53-configurator-`

# rpm -e `rpm -qa | grep 'php53-' | xargs`
5. Esegui Parallels Autoinstaller dalla console del server.

6. Verifica e installa il supporto PHP5.

7. Installa i Repository Epel e Remi:
# wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

# sudo rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

8. Abilita il Repository Remi:
sudo vi /etc/yum.repos.d/remi.repo
Nella sezione [remi] del file, imposta l'opzione "abilitato" su 1.
 
9. Aggiorna PHP con questo comando:
yum install php

Installazione di ionCube per PHP 5.4 (facoltativo)

1. Scarica ionCube:
 
Per x32:
# wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.zip
.
Per x64:
# wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.zip

2. Decomprimi il file.
3. Copia ioncube_loader_lin_5.4.so sulla cartella di estensioni PHP:

# sudo cp ioncube/ioncube_loader_lin_5.4.so /usr/lib/php/modules/
.
4. Definisci gli attributi SELinux:
# sudo chcon -u system_u -t textrel_shlib_t /usr/lib/php/modules/ioncube_loader_lin_5.4.so
.
5. Attiva ionCube in config PHP:
# echo "zend_extension=/usr/lib/php/modules/ioncube_loader_lin_5.4.so" >> /etc/php.d/zend_extensions_psa.ini

6. Verifica che ionCube funzioni:
# php -r 'phpinfo();' | grep -i ioncube
È anche possibile provare ionCube Loader mediante lo script PHP helper loader-wizard.php incluso nell'archivio di ionCube Loader.

Possibili problemi

1. MySQL server è aggiornato con PHP. Quando si creino database, applicazioni o utenti del database e si verifichino errori relativi a MySQL quali "Table mysql.servers does not exist,significa che il server MySQL è stato aggiornato con PHP. È possibile risolvere tale problema mediante il comando:
 
# mysql_upgrade -uadmin -p`cat /etc/psa/.psa.shadow`
2. Se compare un messaggio di errore simile a questo: "Failed loading /usr/lib/php/modules/ioncube_loader_lin_5.4.so:  /usr/lib/php/modules/ioncube_loader_lin_5.4.so: wrong ELF class: ELFCLASS6," significa che l'architettura del file ionCube Loader presenta un'architettura di SO differente. 
 

3. Se compare un messaggio di errore simile a questo: "Failed loading /usr/lib/php/modules/ioncube_loader_lin_5.4.so:  /usr/lib/php/modules/ioncube_loader_lin_5.4.so: wrong ELF class: ELFCLASS6""Failed loading /usr/lib/php/modules/ioncube_loader_lin_5.4.so:  /usr/lib/php/modules/ioncube_loader_lin_5.4.so: cannot restore segment prot after reloc: Permission denied," vuol dire che SELinux è effettivo. Il contexto SELinux errato è sul file ionCube Loader.
 

4. PHP non funziona in modalità CGI/FastCGI con Errore HTTP 500. Può essere causato dall'esistenza di direttive che sono incompatibili con PHP 5.4 nel file php.ini globale o del dominio. Ecco un elenco di direttive non compatibili:

register_globals
register_long_arrays
magic_quotes_gpc
magic_quotes_runtime
magic_quotes_sybase
allow_call_time_pass_reference
define_syslog_variables
highlight.bg
session.bug_compat_42
session.bug_compat_warn
y2k_compliance
safe_mode
safe_mode_gid
safe_mode_include_dir
safe_mode_exec_dir
safe_mode_allowed_env_vars
safe_mode_protected_env_vars
zend.ze1_compatibility_mode
 
Consultare la pagina http://www.php.net/manual/en/migration54.ini.php per maggiori dettagli.

56797cefb1efc9130f7c48a7d1db0f0c a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 0a53c5a9ca65a74d37ef5c5eaeb55d7f 01bc4c8cf5b7f01f815a7ada004154a2 2a5151f57629129e26ff206d171fbb5f e335d9adf7edffca6a8af8039031a4c7 742559b1631652fadd74764ae8be475e aea4cd7bfd353ad7a1341a257ad4724a

Email subscription for changes to this article
Save as PDF