在新的Homestead vagrant VM上获得“Deprecated:ini_set()”

时间:2014-10-11 18:59:46

标签: php laravel vagrant

我得到这个'很奇怪' homestead vm

上的错误
  

不推荐使用:ini_set():不推荐使用mbstring.http_output

我做了一些研究,但找不到任何有用的东西 这里有关于我的环境的一些信息

php -v 5.6.0

这是完整的错误,以防万一

enter image description here

3 个答案:

答案 0 :(得分:7)

如果其他人偶然发现了这一点,我解决了以下问题:

要注意,我尝试在php 5.6.14上运行的应用程序是使用Laravel 4.0构建的。

我将以下内容添加到我的composer.json中:

"patchwork/utf8": "~1.1"

然后我跑了'composer update patchwork / utf8'

我还必须将app / config / session.php cookie变量更新为laravel_session之外的其他内容,因为较新的网站导致会话错误。所以 - 我基本上将'cookie'=>'laravel_session'更改为'饼干 '=>' laravel_session_4'

composer dump-autoload和世界再次正确旋转。

希望这有帮助!

答案 1 :(得分:1)

自PHP 5.6起,

mbstring.http_output已被弃用。 PHP 5.6及更高版本的用户应将其留空,并设置default_charset。 (见http://php.net/manual/en/mbstring.configuration.php)。

答案 2 :(得分:1)

对于UTF-8设置,我使用此

if (version_compare(PHP_VERSION, '5.6.0') < 0) {
    ini_set('mbstring.internal_encoding', 'UTF-8');
    ini_set('mbstring.http_input', 'auto');
    ini_set('mbstring.http_output', 'UTF-8');
}
ini_set('mbstring.language', 'Neutral');
ini_set('mbstring.encoding_translation', 'On');
ini_set('mbstring.detect_order', 'auto');
ini_set('mbstring.substitute_character', 'none');
ini_set('default_charset', 'UTF-8');