PHP5-FPM不会在/ var / run中创buildunix套接字目录

我已经设置了我的php5-fpm绑定到/var/run/php5-fpm一个unix域套接字。

/etc/php5/fpm/pool.d/www.conf

 listen = /var/run/php5-fpm/$pool.sock 

问题是它不会自动创buildphp5-fpm目录。 当我重启机器时,目录不见了。

我怎么能在启动时自动创build它? 还是有这个问题的其他解决scheme?

  1. 正如你可能已经发现的那样,/ var / run是通过devise的短暂的。 检查FHS的更多信息和其他目录。

  2. 在尝试使用php-fpm之前,/ var / run / php5-fpm目录必须存在。 php-fpm和init脚本似乎都没有创build它,所以你必须介入。

    最简单的select是调整你的init脚本来创build一个非常特定于你的环境的目录。 缺点是这增加了你必须在“系统pipe理员工具箱”中执行的行李。

还有两个更多的select,但将是你和其他人的永久解决scheme:

  1. 向php-fpm源代码提交补丁,以便检查.conf文件中定义的目录是否存在。 这需要知道C和PHP的补丁提交过程 。

  2. 提交一个补丁到你的Linux发行版的init系统,这样做是一样的。 这可能会更容易(与第一个选项相比),并可能需要知道shell脚本,再次,您的发行版的补丁提交过程。

你可以做一些快速的修改(改变你的初始化脚本)并继续前进,但是一个很好的练习是遵循其中一个永久选项,以便其他人可以受益。 这很简单,可能会让你迷上贡献开源项目(如果你还没有这样做,请原谅我的无知)。