2012-10-02 63 views
2

我得到以下致命错误:如何在Centos中安装mbstring扩展?

Fatal error: Call to undefined function mb_convert_encoding() in /var/www/html/dai/components/com_servicemanager/views/i0602/view.html.php on line 67

我创建一个文件,CSV:

<?php 

$dateTimeNow = ... 

$list = $this->get('DataCSV'); 

$filename = 'CSV_' . $dateTimeNow . '.csv'; 

foreach ($list as $item) 
{ 
    $csv .= join("\t", $item)."\r\n"; 
} 

$csv = chr(255) .chr(254) . mb_convert_encoding($csv, "UTF-16LE", "UTF-8"); 


header("Content-type: application/x-msdownload"); 
header("Content-disposition: csv; filename=$filename; size=" . strlen($csv)); 
echo $csv; 
exit; 

我在窗口上WAMP运行正常。但我放在服务器上是Centos,它不能创建文件csv。为什么?你可以帮我吗?谢谢。

+0

什么错误来了??? –

+0

它不显示错误。 – mum

+0

使用http://php.net/fputcsv ... – KingCrunch

回答

6

结果你失去了mb_string功能。安装它:

$ sudo yum install php-mbstring 

这应该解决您的问题,因为它需要照顾安装软件包。

对于未定义的变量,当您启用错误报告时,您应该在Windows上看到相同的通知。

只是初始化$csv你更增添它之前:

$csv = ''; 
foreach ($list as $item) 
{ 
    $csv .= join("\t", $item)."\r\n"; 
} 
+0

$ sudo yum install php-mbstring显示错误无法打开/读取文件repomd.xml – mum

+0

@mum:联系服务器的系统管理员,告诉他们您需要PHP的mbstring包。 – hakre

+0

我创建了一个服务器centos,所以我是系统管理员。 – mum