Recently we migrated a Drupal managed website to a new server. – Everything was fine, just on some pages, some php-warnings showed up that did not show up on the original site.
After some investigation I checked php’s error_reporting setting and realized that the settings of the new new server were more sensitive than the old one.
The solution was pretty simple. As I definately didn’t want to start hacking around in Drupal, I just turned off showing the errors to the user:
Administer > Site configuration > Error reporting
(or in german:) Verwalten > Einstellungen > Error reporting
Error Reporting: Write errors to the log (instead: Write errors to the log and to the screen).