ubuntu:安装了 php-mcrypt 但它没有显示在 phpinfo() 中

ubuntu:安装了 php-mcrypt 但它没有显示在 phpinfo() 中

我尝试在 ubuntu 10.04 LTS 上安装一个 Web 应用,该应用需要 mcrypt,但生成了此错误:致命错误:调用未定义的函数 mcrypt_module_open()。我知道这是与此相同的问题:已安装 php-mcrypt,但它没有显示在 phpinfo() 中,但我尝试了几种方法,但都不起作用,并且还有其他问题。我本来想对原始帖子发表评论,但没有足够的声誉来这样做;请原谅我重复提问。

我的 php 和 mcrypt 版本是(均通过 apt-get 安装):

php: 5.3.2-1ubuntu4.10
mcrypt: 5.3.2-0ubuntu

执行php -m显示mcrypt模块已安装。我通过安装mcrypt了。php5-mcryptapt-get

另外,我正在使用nginx作为我的网络服务器。我尝试重新安装 mcrypt 并重新启动 nginx,但仍然无法让 mcrypt 显示在 phpinfo() 上,并且对 mcrypt 的调用仍然中断。

以下是更多信息:

$ php -i | grep "mcrypt"
/etc/php5/cli/conf.d/mcrypt.ini,
mcrypt
mcrypt support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

我还检查了 mcrypt 是否在/etc/php5/cli/conf.d/mcrypt.ini和中开启/etc/php5/cgi/conf.d/mcrypt.ini

最后,我正在使用带有 nginx 的 fastCGI。我在 google 上搜索了一下,看到了重新启动 php5-fpm 的建议。我在 apt-get 中找不到 php5-fpm,我不确定我是否还需要 php5-fpm,因为我已经有了 fastCGI。

我还遗漏了什么吗?

答案1

PHP-FPM 是 fastcgi 进程管理器(或类似的东西);它是 nginx 重启时保持 PHP 进程活动的常用方法。

从命令行,ps aux将显示正在运行的内容;如果这是私人/测试服务器,则sudo kill <process id>在名称中包含 PHP 的任何东西上,直到所有旧进程都死亡(或如上所述,重新启动整个框);如果它是一个公共/实时服务器,你可能不想这么鲁莽......

另外, ——如果存在/etc/php5/cli/conf.d/mcrypt.ini怎么办?/etc/php/cgi/...

相关内容