0

我正在我的 Nginx/php5-fpm/ubuntu14.04 设置上试验 Zephir。我按照他们的教程,轻松地编译了我的第一个 Zephir PHP 扩展。但是,当我尝试通过编辑 /etc/php5/fpm/php.ini 来启用新构建的扩展时,

extension=/path/to/test.so

发出 php -m 时没有显示测试扩展。然后我记得要安装 mcrypt 扩展,我使用 php5enmod mcrypt。所以我去了 /etc/php5/mods-available 并创建了文件 test.ini

extension=/path/to/test.so

然后发出一个

php5enmod test

一个简单的

service php5-fpm restart && php -m

后来,你瞧,测试扩展出现了!一切都很好,但我仍然不明白 php5enmod 是如何发挥它的魔力的。它显然没有写入 php.ini 文件。我将非常感谢任何可能能够解释的人。

4

2 回答 2

1

php5enmod 只是从通常的conf.d(例如:/etc/php5/fpm/conf.d)目录创建一个符号链接,以指向真实文件所在的位置mods-available,前缀为表示模块优先级的数字(默认值:20) .

于 2015-02-02T01:54:11.990 回答
0

我不小心跑了php5enmod没有sudo。错误消息很有趣:

rolf@two:/etc/php5$ php5enmod curl
ln: failed to create symbolic link '/etc/php5/fpm/conf.d/20-curl.ini': Permission denied
rm: cannot remove '/var/lib/php5/modules/fpm/disabled_by_maint/curl': Permission denied
于 2018-06-27T12:26:00.410 回答