From c0caf183ccef13f822557af7ce5cf3e03b57b230 Mon Sep 17 00:00:00 2001
From: Antoine Catton <acatton@tiolive.com>
Date: Fri, 16 Dec 2011 15:03:34 +0100
Subject: [PATCH] Add php error logging.

---
 slapos/recipe/apachephp/__init__.py         | 6 +++++-
 slapos/recipe/apachephp/template/php.ini.in | 3 ++-
 stack/lamp/buildout.cfg                     | 2 +-
 stack/lamp/instance-apache-php.cfg          | 1 +
 4 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/slapos/recipe/apachephp/__init__.py b/slapos/recipe/apachephp/__init__.py
index 927749ad9..e4c26c916 100644
--- a/slapos/recipe/apachephp/__init__.py
+++ b/slapos/recipe/apachephp/__init__.py
@@ -42,10 +42,14 @@ class Recipe(GenericBaseRecipe):
                     self.options['htdocs'])
 
     # Install php.ini
+    if not os.path.exists(self.options['php-error-log']):
+      open(self.options['php-error-log'], 'w').close() # Just a touch
+
     php_ini = self.createFile(os.path.join(self.options['php-ini-dir'],
                                            'php.ini'),
       self.substituteTemplate(self.getTemplateFilename('php.ini.in'),
-        dict(tmp_directory=self.options['tmp-dir']))
+        dict(tmp_directory=self.options['tmp-dir'],
+             error_log=self.options['php-error-log']))
     )
     path_list.append(php_ini)
 
diff --git a/slapos/recipe/apachephp/template/php.ini.in b/slapos/recipe/apachephp/template/php.ini.in
index ce041b0d9..d745090e1 100644
--- a/slapos/recipe/apachephp/template/php.ini.in
+++ b/slapos/recipe/apachephp/template/php.ini.in
@@ -3,9 +3,10 @@ engine = On
 safe_mode = Off
 expose_php = Off
 error_reporting = E_ALL & ~(E_DEPRECATED|E_NOTICE|E_WARNING)
-display_errors = On
+display_errors = Off
 display_startup_errors = Off
 log_errors = On
+error_log = "%(error_log)s"
 log_errors_max_len = 1024
 ignore_repeated_errors = Off
 ignore_repeated_source = Off
diff --git a/stack/lamp/buildout.cfg b/stack/lamp/buildout.cfg
index 2183fa7ce..d57dd2d38 100644
--- a/stack/lamp/buildout.cfg
+++ b/stack/lamp/buildout.cfg
@@ -83,7 +83,7 @@ mode = 0644
 recipe = slapos.recipe.template
 url = ${:_profile_base_location_}/instance-apache-php.cfg
 output = ${buildout:directory}/template-apache-php.cfg
-md5sum = 45bc82dc468e7f418d95c846d1a33d74
+md5sum = e2b116cb97c99a19124a07f521d2ac5a
 mode = 0644
 
 [template-apache-backup]
diff --git a/stack/lamp/instance-apache-php.cfg b/stack/lamp/instance-apache-php.cfg
index 77e266f21..371a9202c 100644
--- a/stack/lamp/instance-apache-php.cfg
+++ b/stack/lamp/instance-apache-php.cfg
@@ -38,6 +38,7 @@ ip = $${slap-network-information:global-ipv6}
 port = 8080
 error-log = $${directory:httpd-log}/error.log
 access-log = $${directory:httpd-log}/access.log
+php-error-log = $${basedirectory:log}/php.log
 php-ini-dir = $${directory:php-ini-dir}
 tmp-dir = $${directory:tmp-php}
 httpd-conf = $${rootdirectory:etc}/apache.conf
-- 
2.30.9