노력없이 설치 스크립트를 디버그하려고합니다. foreach 루프 내에 출력을 얻으려고하면 Mage :: Log() 파일에 결과가 없습니다.Magento가 설치 스크립트를 디버그 할 수 없습니다.
<?php
$installer = $this;
$installer->startSetup();
$attrCodes = ['attr1', 'attr2', 'attr3'];
$objCatalogEavSetup = Mage::getResourceModel('catalog/eav_mysql4_setup', 'core_setup');
Mage::log('hello before foreach');
// get all attributes
foreach ($attrCodes as $attrCode) {
Mage::log('Attribute code: ' . $attrCode);
}
Mage::log('hello after foreach');
$installer->endSetup();
foreach 루프가 발생하기 전에 로그 정보를 볼 수 있습니다. 하지만 그 루프 안팎에 정보가 없습니다.
설치 스크립트를 디버그 할 수 있습니까? 필자는 보통 PHPStorm과 함께 작업하고 내부 디버거를 사용합니다. 하지만 PHPStorm 또는 Mage :: Log()를 사용하여 설치 스크립트를 디버깅 할 수없는 것 같습니다.
편집 :
나는이 혼란을 완전히 유감스럽게 생각합니다.
루프 위의 주석 행에 크레딧을주지 않았으므로 여기에서 코드를 줄이기로 결정했습니다.
하지만 사실은 라인 업 코멘트로 업그레이드 스크립트를 호출 할 수 없다는 것입니다.
그것이 내 문제의 원인입니다. 줄 주석을/**/블록 주석으로 변경해야합니다. 이제 작동합니다.
전에 magento로이 문제에 부딪치지 마십시오.
을 당신은 당신이 foreach는 전에 로그를 볼 수 있습니다 말했지만 더 중요한 것은, 당신을 당신이 배열을 만들 때 당신이 편집을 시도해야한다 ** foreach 후에 ** 정보를 참조하십시오? 그렇지 않다면 ** ** foreach에서 ** 오류가 발생했음을 의미합니다. –