Skip to content

OpenBSD上的PHP邮件发送问题

OpenBSD上的自带的Apache由于chroot的缘故,会导致PHP的mail函数失效,而且PHP也不会返回错误。很难排错。 下面是解决这个问题的一个大致的流程,供在OpenBSD上遇到邮件问题的用户参考: 1. 首先确保在命令行下直接用mail命令发送邮件没有问题。如果命令行下都无法发送邮件,说明MTA有问题,解决了这个问题以后来解决 CHROOT APACHE + PHP的问题。 2. 在/var/www/目录下创建etc目录,并将/etc/resolv.conf文件复制到其下 3. 在/var/www/目录下创建bin目录,并将/bin/ksh和/bin/sh复制到其下 4. 安装femail-chroot (如果你不知道如何在OpenBSD上安装软件,google一下pkg_add openbsd) 5. 修改php配置文件(在OpenBSD 5.1 + php-5.3.10的情况下,php 配置文件为/etc/php-5.3.ini),在[mail  function]一节下,修改sendmail_path参数如下 [mail function] … ; For Unix only. You may supply arguments as well (default: “sendmail -t -i”)….

Read more

php_network_getaddresses errors on OpenBSD

如果你使用OpenBSD来为你的Wordpress或drupal的CMS提供主机服务,你很可能会碰到类似下面的错误消息: Uh-oh, we were unable to verify your API Key. Please check them and try again! The server said:Could not connect (ERR 0: php_network_getaddresses: getaddrinfo failed: non-recoverable failure in name resolution) 我的OpenBSD服务器名称解析很正常,为什么还会报这个错误呢? 这是因为OpenBSD上的Apache默认是chroot到/var/www目录下的,而PHP脚本在名称解析时需要用到/etc/resolv.conf文件中配置的名称服务器。在chroot的情况下,PHP程序看到的“/”目录其实是实际的/var/www目录。 因此解决这个问题就很简单了: mkdir /var/www/etc/ cp /etc/resolv.conf /var/www/etc/ apachectl…

Read more
Sidebar