Comment configurer les fichiers php.ini par site sur un serveur LAMP à l'aide de NameVirtualHosts?

J'ai un serveur LAMP desservant un certain nombre de sites Web différents en utilisant NameVirtualHosts .

Jusqu'à récemment, un fichier php.ini mondial était tout simplement correct, mais récemment un de nos développeurs a demandé quelques paramètres dans php.ini que je préfère ne pas définir globalement.

Je suis sûr d'avoir appris que vous pouvez configurer des fichiers php.ini par site , mais ne savez pas comment procéder.

Quelqu'un peut-il me dire dans la bonne direction comment faire cela?

4 Solutions collect form web for “Comment configurer les fichiers php.ini par site sur un serveur LAMP à l'aide de NameVirtualHosts?”

La plupart des paramètres que vous placeriez dans votre php.ini peuvent également être placés dans un .htaccess ou dans la configuration apache pour ce site. Par exemple, l'un de mes hôtes virtuels a ceci dans le .htaccess

php_value display_errors 1 php_value register_globals 0 php_value short_open_tag 0 php_value magic_quotes_runtime 0 php_value magic_quotes_gpc 0 php_value session.name "PHPSESSID_SITEBLAH" php_value session.gc_maxlifetime 57600 php_value session.gc_probability 1 php_value session.gc_divisor 500 

Vous pouvez également spécifier les paramètres de configuration dans le fichier de configuration Apache (httpd.conf / apache.conf). Dans votre cas, vous pouvez spécifier les valeurs de configuration dans le contexte.

L'exemple suivant devrait configurer upload_max_filesize sur 10M pour l'hôte virtuel example.com.

 <VirtualHost *> ServerName example.com DocumentRoot /path_to_docroot php_value upload_max_filesize 10M php_admin_flag allow_url_fopen on </VirtualHost> 

Si vous ne souhaitez pas définir cette valeur pour l'ensemble du site, mais dans un répertoire particulier où réside l'application, vous pouvez spécifier les valeurs dans un.

 <VirtualHost *> ServerName example.com DocumentRoot /path_to_docroot <Location /testApp/> php_value upload_max_filesize 10M php_admin_flag allow_url_fopen on </Location> </VirtualHost> 

Voir http://php.net/manual/en/configuration.changes.php pour plus d'explications.

Une autre suggestion consiste à utiliser mod-fastcgi ou mod-fcgi, qui exécute PHP comme un démon autonome séparé. Ensuite, pour chaque site Web, vous pouvez définir un fichier de configuration utilisateur et php.ini distinct.

Une autre option est suPHP qui vous permet de définir un php.ini pour chaque VirtualHost. Il vous permet également de spécifier une version PHP pour chaque VirtualHost.

  • PLESK PostFix Error Local Loop dans maillog, comment résoudre
  • Comment autoriser les balises courtes dans php avec apache
  • PHP + IIS7 + X64 OS (Windows 7 ou Server 2008)
  • Sécurisation de PHP via open_basedir basé sur le path du script
  • Options de sondage longues: Nginx, PHP, Node.js
  • Le code PHP est-il affiché dans un text clair?
  • Yum: php55w-common conflits avec php-common-5.4
  • PHP lent à parler à MySQL sur le même hôte
  • Debian PHP 5.3 problèmes de compilation APD
  • Comment annuler l'en-tête "Content-Type" avec script PHP sur Nginx
  • Essayer de comstackr phpredis sur un mac en utilisant phpize54
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.