Fedora Core3 and later versions have enabled SELinux security libraries by default. Similar options are enabled in Red Hat Enterprise Linux 4 and CentOS 4.2. If SELinux policies are not designed correctly, they can break PHP scripts with artificial restrictions that are not expected in standard Unix environment.
If you get errors on Fedora and other OSes with SELinux and want to be sure that problems are not related to SELinux, make sure that you can reproduce your problem with SELinux disabled.
SELinux restrictions can be disabled with command setenforce 0. This command turns all security blocks into warnings. Command will be active until machine is rebooted or setenforce 1 command is issued. If you want to make it permanent, modify /etc/sysconfig/selinux and set SELINUX variable to permissive
SELinux configuration can be reviewed with the sestatus -v command.
If you get "permission denied" errors on SMTP, IMAP, database or LDAP connections, check httpd_can_network_connect policy or allow network connections with setsebool -P httpd_can_network_connect true command.
You can find more information about SELinux in [Fedora SELinux FAQ].