2016-06-23 1 views
0

Le sysadmin m'a dit qu'il est impossible de mettre à jour la version php sur les serveurs web de mon lieu de travail parce qu'ils sont "vieux".PHP a-t-il des exigences matérielles ou système?

Est-ce vrai?

Est-ce que PHP a des exigences matérielles ou système?

Merci

+0

Je suis sûr que vous pouvez trouver cette information en utilisant Google. – Rasclatt

+0

Juste par curiosité, comment "vieux"? Comme quel OS et version parlons-nous ici si vous pouvez partager? – drew010

Répondre

2

PHP ne dispose support officiel pour les versions de Windows, ils sont here détaillées.

Sur les machines Unix, n'importe quel sysadmin peut installer PHP7 avec assez de détermination sur la plupart des machines. Ma conjecture est que votre sysadmin préfère coller avec le PHP que leur gestionnaire de paquets préféré fournit. Par exemple, Debian 7 n'a que PHP 5.4 avec des dépôts apt-get par défaut.

2

PHP n'a pas de limitations matérielles que j'ai jamais rencontrées, mais une chose qui vous empêchera certainement de compiler de nouvelles versions de PHP sur les anciens systèmes * nix est le logiciel.

Les versions modernes de PHP ne compileront pas sur les anciens systèmes * nix car ils ne disposent pas des outils nécessaires pour compiler PHP (un compilateur C moderne, des versions semi-récentes de glibc, GNU make, Bison, et beaucoup des extensions PHP auront des prérequis de nouvelles versions de bibliothèques incompatibles avec celles installées sur les anciens systèmes).

Cela pourrait très bien être la raison pour laquelle ils disent cela. J'ai essayé de compiler PHP 5.4 sur RedHat 7.3 sans trop de chance car toutes ces bibliothèques système et outils de compilation de logiciels sont trop anciens. Avec l'extension OpenSSL, les anciens systèmes n'ont souvent pas les bons fichiers d'en-tête avec les prototypes de fonctions attendus par PHP lors de la compilation.

Alors oui, la compilation de PHP est difficile ou impossible sur un système plus ancien (jamais essayé de construire des versions plus récentes de libc sur de vieilles machines ??? C'est un cauchemar!).

Par exemple, je pris PHP 5.6.22 et a commencé à compiler sur Red Hat Linux version 7.3 (Valhalla) et ne pas très loin ...

première erreur simple:

checking for zlib version >= 1.2.0.4... 1.1.4 
configure: error: libz version greater or equal to 1.2.0.4 required 

C'est assez facile à compiler par lui-même, mais un certain nombre d'autres bibliothèques pour les extensions que je voulais ne sont pas installées sur le système, et essayer de compiler chacune d'entre elles pourrait être un trou de lapin.

Je pris à ceux que nous ne disposions pas de commencer, a pu ./configure très bien, mais pas trop loin dans make ...

php-5.6.22/ext/openssl/openssl.c: In function `php_openssl_get_stream_from_ssl_handle': 
php-5.6.22/ext/openssl/openssl.c:581: warning: passing arg 1 of `SSL_get_ex_data' discards qualifiers from pointer target type 
php-5.6.22/ext/openssl/openssl.c: In function `php_openssl_get_evp_cipher_from_algo': 
php-5.6.22/ext/openssl/openssl.c:1092: warning: return makes pointer from integer without a cast 
php-5.6.22/ext/openssl/openssl.c:1095: warning: return makes pointer from integer without a cast 
php-5.6.22/ext/openssl/openssl.c:1098: warning: return makes pointer from integer without a cast 
php-5.6.22/ext/openssl/openssl.c: In function `openssl_x509v3_subjectAltName': 
php-5.6.22/ext/openssl/openssl.c:1874: `GENERAL_NAMES' undeclared (first use in this function) 
... 
php-5.6.22/ext/openssl/openssl.c: In function `zif_openssl_digest': 
php-5.6.22/ext/openssl/openssl.c:5112: void value not ignored as it ought to be 
make: *** [ext/openssl/openssl.lo] Error 1 

Donc, avec OpenSSL il était jeu sur (c'est la version 0.9.6b en passant, si vieux!). Je pourrais probablement compiler OpenSSL plus récent comme je l'ai fait avant sans problème, mais ce système 7.3 est également spécial. Nous avons mis beaucoup d'efforts pour apporter de nouvelles versions de logiciels non supportés (libs & compilateur) à ce système pour le maintenir en vie, mais sur les plus anciens, j'ai eu beaucoup moins de chance.

Alors oui, cela peut prendre des jours avant de faire fonctionner PHP sur des systèmes plus anciens et cela suppose beaucoup d'expérience et de connaissances sur la construction et l'installation de bibliothèques en dehors du chemin de votre bibliothèque. système), puis obtenir les nouveaux éléments à lier dynamiquement à ceux).

+0

Merci pour votre réponse, je comprends qu'il pourrait être impossible ou très difficile et fastidieux d'installer les versions récentes de ce logiciel en raison de dépendances. –

0

Ce sont les exigences minimales du système pour télécharger et installer WampServer: Système d'exploitation: Windows XP (32 bits ou 64 bits) disque dur: 200 Mo d'espace libre. Mémoire: 512 Mo de RAM. Accès administrateur complet.

Ceux-ci sont pour la première installation après dans un environnement de production

Vous ne serez pas limité. PROC: 0 jusqu'à ce que vous affichez le menu, tout le travail est effectué par les deux services RAM: seuls les services, donc cela dépend du nombre de connexions apache doit gérer (1 dans un usage local) HDD: Cela dépend du nombre addons/apps que vous installez et de la taille et des bases de données de vos projets.