Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP not displaying errors

Tags:

php

I have a small script which im using to test PHP mail(), as below:

<?php
error_reporting(E_ALL);
ini_set("display_errors",1);

mail('[email protected]','test','test') or die('could not send') ;

echo "Mail Sent";

?>

When I run this script I get no output at all. I don't get an error, I dont get anything echoed, I view the source, nothing.

Ive tried so many different variations, if I take out the mail function in the code above it will work fine.

This is a Windows hosted server so I have not access to php.ini or anything

Could it be some configuration that is causing no output when its encountering an error?

like image 777
Tim Avatar asked Mar 11 '10 00:03

Tim


2 Answers

According to the PHP Runtime Configuration guide:

Note: Although display_errors may be set at runtime (with ini_set()), it won't have any affect if the script has fatal errors. This is because the desired runtime action does not get executed.

Your code appears to have a syntax error ('test, is missing a closing apostrophe). Thus, your program is encountering a fatal error. The only way to get a fatal error to display (EDIT: outside the error log) is to set display_errors = 1 in your php.ini file.

like image 89
cmptrgeekken Avatar answered Sep 29 '22 17:09

cmptrgeekken


The problem is with your sendmail server configuration. If youre testing this script on your personal development environment, don't worry about it. It can be a pita to setup/configure a sendmail server. If you're having this problem on your production server, the simpliest solution is to use a mailer library that has an smtp option (allowi g your email to be sent to an external smtp server for processing/delivery).

Here is a guide on using a 3rd party smtp mail script... http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm

like image 20
John Himmelman Avatar answered Sep 29 '22 17:09

John Himmelman