ob_start()无法在laravel 3中创建缓冲区

时间:2013-09-13 13:26:03

标签: php redis laravel

我正在使用Laravel 3进行项目,我做了一点cronjob script,当我搬到新服务器时,它一直说:

  

警告:ob_start():找不到函数“mb_output_handler”或函数名称无效   和   注意:ob_start():无法创建缓冲区

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

新服务器是Ubuntu吗?您的开发服务器和“新服务器”是否是相同的操作系统?相同的PHP版本?

这两台服务器可能完全不同!

你能展示你的cronjob吗? (它是否尝试通过#!/usr/bin/env php调用使用特定的php二进制文件?

Ubuntu的一种可能性:

在CLI中运行的PHP 可以与在Apache中运行不同,特别是如果你在nginx中使用php5-fpm,可能会有所不同。

他们每个人都可以拥有自己的php.ini和不同的扩展程序。

正如你所说,你正在使用Ubuntu Server。如果你使用的是PHP 5.5,你可能会在/etc/php5中注意到一些事情:

/etc/php5/mods-available  # All mods available / installed
/etc/php5/cli/php.ini     # php.ini for CLI-called php5
/etc/php5/cli/conf.d      # Directory of symlinks to extensions in mods-available!
/etc/php5/apache2/php.ini # php.ini for Apache-run php5
/etc/php5/apache2/conf.d  # Symlinks to mods-available extensions

因此,CLI与Apache2和PHP-FPM中的php都可以加载不同的扩展并分离php.ini的安装。

也许基于cli的(可能是cronjob正在使用的)可能是PHP(!)的不同版本或加载不同的.ini文件和/或扩展集。