Laravel:调用未定义的函数Symfony \ Component \ Console \ mb_convert_variables()?

我正在运行一个香草亚马逊EC2服务器。 我自己安装了PHP 5.5.21。 我的Web应用程序build立在Laravel上。 几个星期以来,一切工作都完美无瑕。 但是,现在运行Laravel命令来更新数据库模式时:

PHP的工匠迁移

我得到以下错误:

PHP致命错误:调用未定义的函数Symfony \ Component \ Console \ mb_convert_variables()在/var/www/mysite/vendor/symfony/console/Symfony/Component/Console/Application.php上线1154

奇怪的是,我没有做任何更新或安装任何包之间的工作时间,当它停止工作。 (至less我认为,我确认了我的历史。)

我不认为Laravel本身就是一个问题。 我的研究表明,mb_convert_variables应该是一个内置的PHP函数。

这里是错误的Application.php的1154行:

mb_convert_variables($encoding, 'utf8', $lines); 

这是在更大的背景下。 有趣的是mb_convert_encoding(…)似乎工作正常:

 private function splitStringByWidth($string, $width) { // str_split is not suitable for multi-byte characters, we should use preg_split to get char array properly. // additionally, array_slice() is not enough as some character has doubled width. // we need a function to split string not by character count but by string width if (!function_exists('mb_strwidth')) { return str_split($string, $width); } if (false === $encoding = mb_detect_encoding($string)) { return str_split($string, $width); } $utf8String = mb_convert_encoding($string, 'utf8', $encoding); $lines = array(); $line = ''; foreach (preg_split('//u', $utf8String) as $char) { // test if $char could be appended to current line if (mb_strwidth($line.$char, 'utf8') <= $width) { $line .= $char; continue; } // if not, push current line to array and make new line $lines[] = str_pad($line, $width); $line = $char; } if (strlen($line)) { $lines[] = count($lines) ? str_pad($line, $width) : $line; } mb_convert_variables($encoding, 'utf8', $lines); return $lines; } 

我不确定这是否有帮助,但这是所有安装的PHP模块的列表:

 [PHP Modules] bz2 calendar Core ctype curl date dom ereg exif fileinfo filter ftp gettext hash iconv json libxml mcrypt mhash mysql mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql pdo_sqlite Phar posix readline Reflection session shmop SimpleXML sockets SPL sqlite3 standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter xsl zip zlib 

这里是一些php -i的输出:

 phpinfo() PHP Version => 5.5.21 System => Linux ip-172-31-6-34 3.14.26-24.46.amzn1.x86_64 #1 SMP Wed Dec 10 10:02:43 UTC 2014 x86_64 Build Date => Feb 11 2015 23:17:00 Server API => Command Line Interface Virtual Directory Support => disabled Configuration File (php.ini) Path => /etc Loaded Configuration File => /etc/php.ini Scan this dir for additional .ini files => /etc/php-5.5.d Additional .ini files parsed => /etc/php-5.5.d/bz2.ini, /etc/php-5.5.d/calendar.ini, /etc/php-5.5.d/ctype.ini, /etc/php-5.5.d/curl.ini, /etc/php-5.5.d/dom.ini, /etc/php-5.5.d/exif.ini, /etc/php-5.5.d/fileinfo.ini, /etc/php-5.5.d/ftp.ini, /etc/php-5.5.d/gettext.ini, /etc/php-5.5.d/iconv.ini, /etc/php-5.5.d/json.ini, /etc/php-5.5.d/mcrypt.ini, /etc/php-5.5.d/mysqlnd.ini, /etc/php-5.5.d/mysqlnd_mysql.ini, /etc/php-5.5.d/mysqlnd_mysqli.ini, /etc/php-5.5.d/pdo.ini, /etc/php-5.5.d/pdo_mysqlnd.ini, /etc/php-5.5.d/pdo_sqlite.ini, /etc/php-5.5.d/phar.ini, /etc/php-5.5.d/php.ini, /etc/php-5.5.d/posix.ini, /etc/php-5.5.d/shmop.ini, /etc/php-5.5.d/simplexml.ini, /etc/php-5.5.d/sockets.ini, /etc/php-5.5.d/sqlite3.ini, /etc/php-5.5.d/sysvmsg.ini, /etc/php-5.5.d/sysvsem.ini, /etc/php-5.5.d/sysvshm.ini, /etc/php-5.5.d/tokenizer.ini, /etc/php-5.5.d/xml.ini, /etc/php-5.5.d/xml_wddx.ini, /etc/php-5.5.d/xmlreader.ini, /etc/php-5.5.d/xmlwriter.ini, /etc/php-5.5.d/xsl.ini, /etc/php-5.5.d/zip.ini PHP API => 20121113 PHP Extension => 20121212 Zend Extension => 220121212 Zend Extension Build => API220121212,NTS PHP Extension Build => API20121212,NTS Debug Build => no Thread Safety => disabled Zend Signal Handling => disabled Zend Memory Manager => enabled Zend Multibyte Support => disabled IPv6 Support => enabled DTrace Support => enabled Registered PHP Streams => https, ftps, compress.zlib, php, file, glob, data, http, ftp, compress.bzip2, phar, zip Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, sslv3, sslv2, tls Registered Stream Filters => zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, bzip2.*, convert.iconv.*, mcrypt.*, mdecrypt.* Core PHP Version => 5.5.21 Directive => Local Value => Master Value allow_url_fopen => On => On allow_url_include => Off => Off always_populate_raw_post_data => Off => Off arg_separator.input => & => & arg_separator.output => & => & asp_tags => Off => Off auto_append_file => no value => no value auto_globals_jit => On => On auto_prepend_file => no value => no value browscap => no value => no value default_charset => no value => no value default_mimetype => text/html => text/html disable_classes => no value => no value disable_functions => no value => no value display_errors => Off => Off display_startup_errors => Off => Off doc_root => no value => no value docref_ext => no value => no value docref_root => no value => no value enable_dl => Off => Off enable_post_data_reading => On => On error_append_string => no value => no value error_log => no value => no value error_prepend_string => no value => no value error_reporting => 22527 => 22527 exit_on_timeout => Off => Off expose_php => On => On extension_dir => /usr/lib64/php/5.5/modules => /usr/lib64/php/5.5/modules file_uploads => On => On highlight.comment => <font style="color: #FF8000">#FF8000</font> => <font style="color: #FF8000">#FF8000</font> highlight.default => <font style="color: #0000BB">#0000BB</font> => <font style="color: #0000BB">#0000BB</font> highlight.html => <font style="color: #000000">#000000</font> => <font style="color: #000000">#000000</font> highlight.keyword => <font style="color: #007700">#007700</font> => <font style="color: #007700">#007700</font> highlight.string => <font style="color: #DD0000">#DD0000</font> => <font style="color: #DD0000">#DD0000</font> html_errors => Off => Off ignore_repeated_errors => Off => Off ignore_repeated_source => Off => Off ignore_user_abort => Off => Off implicit_flush => On => On include_path => .:/usr/share/pear:/usr/share/php => .:/usr/share/pear:/usr/share/php log_errors => On => On log_errors_max_len => 1024 => 1024 mail.add_x_header => On => On mail.force_extra_parameters => no value => no value mail.log => no value => no value max_execution_time => 0 => 0 max_file_uploads => 20 => 20 max_input_nesting_level => 64 => 64 max_input_time => -1 => -1 max_input_vars => 1000 => 1000 memory_limit => 128M => 128M open_basedir => no value => no value output_buffering => 0 => 0 output_handler => no value => no value post_max_size => 8M => 8M precision => 14 => 14 realpath_cache_size => 16K => 16K realpath_cache_ttl => 120 => 120 register_argc_argv => On => On report_memleaks => On => On report_zend_debug => Off => Off request_order => GP => GP sendmail_from => no value => no value sendmail_path => /usr/sbin/sendmail -t -i => /usr/sbin/sendmail -t -i serialize_precision => 17 => 17 short_open_tag => Off => Off SMTP => localhost => localhost smtp_port => 25 => 25 sql.safe_mode => Off => Off sys_temp_dir => no value => no value track_errors => Off => Off unserialize_callback_func => no value => no value upload_max_filesize => 2M => 2M upload_tmp_dir => no value => no value user_dir => no value => no value user_ini.cache_ttl => 300 => 300 user_ini.filename => .user.ini => .user.ini variables_order => GPCS => GPCS xmlrpc_error_number => 0 => 0 xmlrpc_errors => Off => Off zend.detect_unicode => On => On zend.enable_gc => On => On zend.multibyte => Off => Off zend.script_encoding => no value => no value ctype ctype functions => enabled ereg Regex Library => Bundled library enabled exif EXIF Support => enabled EXIF Version => 1.4 $Id: 7f95ff43ea7cc9a2c41a912863ed70069c0e34c5 $ Supported EXIF Version => 0220 Supported filetypes => JPEG,TIFF Directive => Local Value => Master Value exif.decode_jis_intel => JIS => JIS exif.decode_jis_motorola => JIS => JIS exif.decode_unicode_intel => UCS-2LE => UCS-2LE exif.decode_unicode_motorola => UCS-2BE => UCS-2BE exif.encode_jis => no value => no value exif.encode_unicode => ISO-8859-15 => ISO-8859-15 fileinfo fileinfo support => enabled version => 1.0.5 filter Input Validation and Filtering => enabled Revision => $Id: 4d3899e089e6e45b157975ceef2ac7deb6e9d762 $ Directive => Local Value => Master Value filter.default => unsafe_raw => unsafe_raw filter.default_flags => no value => no value ftp FTP support => enabled gettext GetText Support => enabled hash hash support => enabled Hashing Engines => md2 md4 md5 sha1 sha224 sha256 sha384 sha512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost adler32 crc32 crc32b fnv132 fnv164 joaat haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5 iconv iconv support => enabled iconv implementation => glibc iconv library version => 2.17 Directive => Local Value => Master Value iconv.input_encoding => ISO-8859-1 => ISO-8859-1 iconv.internal_encoding => ISO-8859-1 => ISO-8859-1 iconv.output_encoding => ISO-8859-1 => ISO-8859-1 json json support => enabled json version => 1.3.6 JSON-C headers version => 0.11 JSON-C library version => 0.11 libxml libXML support => active libXML Compiled Version => 2.9.1 libXML Loaded Version => 20901 libXML streams => enabled mcrypt mcrypt support => enabled mcrypt_filter support => enabled Version => 2.5.8 Api No => 20021217 Supported ciphers => cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes Supported modes => cbc cfb ctr ecb ncfb nofb ofb stream Directive => Local Value => Master Value mcrypt.algorithms_dir => no value => no value mcrypt.modes_dir => no value => no value mhash MHASH support => Enabled MHASH API Version => Emulated Support openssl OpenSSL support => enabled OpenSSL Library Version => OpenSSL 1.0.1k-fips 8 Jan 2015 OpenSSL Header Version => OpenSSL 1.0.1k-fips 8 Jan 2015 pcntl pcntl support => enabled pcre PCRE (Perl Compatible Regular Expressions) Support => enabled PCRE Library Version => 8.21 2011-12-12 Directive => Local Value => Master Value pcre.backtrack_limit => 1000000 => 1000000 pcre.recursion_limit => 100000 => 100000 PDO PDO support => enabled PDO drivers => mysql, sqlite pdo_mysql PDO Driver for MySQL => enabled Client API version => mysqlnd 5.0.11-dev - 20120503 - $Id: bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $ Directive => Local Value => Master Value pdo_mysql.default_socket => /var/lib/mysql/mysql.sock => /var/lib/mysql/mysql.sock pdo_sqlite PDO Driver for SQLite 3.x => enabled SQLite Library => 3.7.17 Phar Phar: PHP Archive support => enabled Phar EXT version => 2.0.2 Phar API version => 1.1.1 SVN revision => $Id: cc0fad28eb9ea42466f756c3b5fc22c764e32690 $ Phar-based phar archives => enabled Tar-based phar archives => enabled ZIP-based phar archives => enabled gzip compression => enabled bzip2 compression => enabled Native OpenSSL support => enabled Phar based on pear/PHP_Archive, original concept by Davey Shafik. Phar fully realized by Gregory Beaver and Marcus Boerger. Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle. Directive => Local Value => Master Value phar.cache_list => no value => no value phar.readonly => On => On phar.require_hash => On => On posix Revision => $Id: 1dfa9997ed76804e53c91e0ce862f3707617b6ed $ readline Readline Support => enabled Readline library => EditLine wrapper Directive => Local Value => Master Value cli.pager => no value => no value cli.prompt => \b \> => \b \> Reflection Reflection => enabled Version => $Id: 95b780d3f0d017feba96a5c35cca9541186114ad $ session Session Support => enabled Registered save handlers => files user Registered serializer handlers => php_serialize php php_binary wddx Directive => Local Value => Master Value session.auto_start => Off => Off session.cache_expire => 180 => 180 session.cache_limiter => nocache => nocache session.cookie_domain => no value => no value session.cookie_httponly => Off => Off session.cookie_lifetime => 0 => 0 session.cookie_path => / => / session.cookie_secure => Off => Off session.entropy_file => /dev/urandom => /dev/urandom session.entropy_length => 32 => 32 session.gc_divisor => 1000 => 1000 session.gc_maxlifetime => 1440 => 1440 session.gc_probability => 1 => 1 session.hash_bits_per_character => 5 => 5 session.hash_function => 0 => 0 session.name => PHPSESSID => PHPSESSID session.referer_check => no value => no value session.save_handler => files => files session.save_path => no value => no value session.serialize_handler => php => php session.upload_progress.cleanup => On => On session.upload_progress.enabled => On => On session.upload_progress.freq => 1% => 1% session.upload_progress.min_freq => 1 => 1 session.upload_progress.name => PHP_SESSION_UPLOAD_PROGRESS => PHP_SESSION_UPLOAD_PROGRESS session.upload_progress.prefix => upload_progress_ => upload_progress_ session.use_cookies => On => On session.use_only_cookies => On => On session.use_strict_mode => Off => Off session.use_trans_sid => 0 => 0 shmop shmop support => enabled SimpleXML Simplexml support => enabled Revision => $Id: a915862ec47f9589309acc4996ca8f6179788746 $ Schema support => enabled sockets Sockets Support => enabled SPL SPL support => enabled Interfaces => Countable, OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException standard Dynamic Library Support => enabled Path to sendmail => /usr/sbin/sendmail -t -i Directive => Local Value => Master Value assert.active => 1 => 1 assert.bail => 0 => 0 assert.callback => no value => no value assert.quiet_eval => 0 => 0 assert.warning => 1 => 1 auto_detect_line_endings => 0 => 0 default_socket_timeout => 60 => 60 from => no value => no value url_rewriter.tags => a=href,area=href,frame=src,input=src,form=fakeentry => a=href,area=href,frame=src,input=src,form=fakeentry user_agent => no value => no value sysvmsg sysvmsg support => enabled Revision => $Id: adf1d2d6be849c46eed3c3ee6f1cbebd1448d6e5 $ tokenizer Tokenizer Support => enabled wddx WDDX Support => enabled WDDX Session Serializer => enabled xml XML Support => active XML Namespace Support => active libxml2 Version => 2.9.1 xmlreader XMLReader => enabled xmlwriter XMLWriter => enabled xsl XSL => enabled libxslt Version => 1.1.28 libxslt compiled against libxml Version => 2.9.1 EXSLT => enabled libexslt Version => 1.1.28 zip Zip => enabled Extension Version => $Id: 05dd1ecc211075107543b0ef8cee488dd229fccf $ Zip version => 1.11.0 Compiled against libzip version => 0.10.1 zlib ZLib Support => enabled Stream Wrapper => compress.zlib:// Stream Filter => zlib.inflate, zlib.deflate Compiled Version => 1.2.7 Linked Version => 1.2.7 Directive => Local Value => Master Value zlib.output_compression => Off => Off zlib.output_compression_level => -1 => -1 zlib.output_handler => no value => no value Additional Modules Module Name sysvsem sysvshm 

我有几个关于这个问题的问题:

  • 我该如何解决?
  • 我做错了什么,搞砸了?

谢谢!

Solutions Collecting From Web of "Laravel:调用未定义的函数Symfony \ Component \ Console \ mb_convert_variables()?"