在我的web.php文件中,我有一个以下路由,它工作正常
Route::get('users/xml', function() {
$merchants = DB::table('merchants')->where('published', '1')->get();
$xml = new XMLWriter();
$xml->openMemory();
$xml->startDocument();
$xml->startElement('markers');
foreach($merchants as $merchant) {
$xml->startElement('marker');
$xml->writeAttribute('id', $merchant->id);
$xml->writeAttribute('name', $merchant->merchant_code);
$xml->writeAttribute('address', $merchant->address);
$xml->writeAttribute('lat', $merchant->lat);
$xml->writeAttribute('lng', $merchant->lng);
$xml->endElement();
}
$xml->endElement();
$xml->endDocument();
$content = $xml->outputMemory();
/*File::put(storage_path().'/file.xml', $content);*/
return response($content)->header('Content-Type', 'text/xml');
});
但是,当我将代码推送到生产(Nginx)时,找不到页面。
答案 0 :(得分:0)
我在laravel.log文件中找到了解决方案! 它没有加载的原因是因为类XMLWriter没有与Vultr(Nginx)上的php服务器捆绑在一起。 所以我去了终端并输入了
yum install php-xml
Voila,它有效!