php - ob_start() 未能在 laravel 3 中创建缓冲区

标签 php redis laravel

我正在为一个项目使用 Laravel 3,并且我制作了一个小的 cronjob 脚本,当我移动到新服务器时,它一直在说:

Warning: ob_start(): function 'mb_output_handler' not found or invalid function name and Notice: ob_start(): failed to create buffer

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

最佳答案

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

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

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

Ubuntu 的一种可能性:

在 CLI 中运行的 PHP 可能与在 Apache 中运行的不同,尤其是如果您将 php5-fpm 与 Nginx 一起使用时可能会有所不同。

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

如您所说,您使用的是 Ubuntu 服务器。如果您使用的是 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 中的 php vs Apache2 vs PHP-FPM 都可以加载不同的扩展并分离安装的 php.ini。

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

关于php - ob_start() 未能在 laravel 3 中创建缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18787514/

相关文章:

php - .htaccess 异常在主目录上产生问题

javascript - 根据输入字段更改选择选项值

Laravel 选择命令数字键

php - 如何在url中插入多个复选框值

python - 如何从存储在redis中的列表中打印数据?

set - 在 Redis 中使用 WATCH 实现 ZMOVE

flask - Flask Rate Limiter 是否适用于 Elasticache (Redis 2.8)?

php - Laravel 5 从 PayPal API 捕获 400 响应

javascript - 使用 Javascript 和 AJAX 调用 2 个以上函数

php - 使用 array_filter 时意外的 php 通知和警告