我在Magento门户网站上下订单时,一直在研究保存xml文件的方法。一切似乎都保存没有错误,除非方法完成,我无法在任何地方找到我的xml文件
有人知道它在哪里保存文件吗?或者Magento在方法完成并删除文件后秘密进入?
try {
Mage::log('Attempting to save xml...');
$xml->asXML("test.xml");
Mage::log('Xml saved!');
} catch (Exception $e) {
Mage::log('Problem encountered');
Mage::log($e->getMessage());
}
我也将xml转换为字符串并通过电子邮件发送给自己,所有内容都在检查中。根据日志,文件保存没有错误,因为我得到“Xml保存!”消息在他们中间。但是当我检查这个模块的目录时,没有xml文件。有什么想法吗?
答案 0 :(得分:2)
PHP中存在大量错误,这些错误可能会阻止上述代码运行(取决于您的PHP error settings和Magento的开发人员模式设置)。不写文件的最常见原因是文件权限,这不会引发异常,只会引发错误。
我会在asXml
电话
error_reporting(E_ALL | E_STRICT);
ini_set('log_errors','1');
ini_set('error_log','/tmp/my-custom-php-error-log.log');
ini_set('display_errors', '1');
echo "The current working PHP directory is " . getcwd() . "\n" . "<br/>" . "\n";
$xml->asXML("test.xml");
这将告诉您PHP在哪里尝试保存文件,以及使用自定义日志将错误报告发送到最大值。这应该指向正确的方向。