Geçtiğimiz günlerde Magento 2.1.8 sürümü ile çalışan bir websitesinde bir eklenti güncellemesi yaptım. Site hali hazırda productionda olduğundan, güncellemenin siteye yansıması için;
php bin/magento cache:clean
php bin/magento deploy:mode:set production
kodlarını çalıştırdım. Ekranda birden;
Something went wrong while compiling generated code. See the error log for details.
Command returned non-zero exit code:
`php -f bin\magento setup:di:compile`
şeklinde bir uyarı çıktı. Bu kez mesajda bahsedilen;
php bin\magento setup:di:compile
kodunu çalıştırdım. Bu kez de;
Repositories code generation… 1/7 [====>———————–] 14% 1 sec 42.0 MiB
Segmentation fault
Şeklinde bir hata ile karşılaştım. Neyin sebep olduğu açık olmayan bu hata için internette yaptığım aramalar sonuçsuz kaldı.
rm -Rf var/di
rm -Rf var/view_preprocessed
rm -Rf var/cache
rm -Rf var/page_cache
rm -Rf var/generation
kodları ile sistem tarafından oluşturulmuş kodları temizledim ancak yardımcı olmadı. Site hata loglarını kurcalarken sonunda;
vendor/magento/magento-composer-installer/src/MagentoHackathon/Composer/Magento/Command/DeployCommand.php line 21 Composer\Command\Command not found
gibi bir hata ile karşılaştım. İlk olarak serverde vendor core kodlarına müdehale edilmiş olabileceği geldi aklıma. Vendor klasörünü silip;
composer update
ile yeniden temiz bir şekilde oluşturulmasını sağladım. Ancak sorun hala devam ediyordu. Composer\Command\Command class’ının konumunu elle belirlemeye çalıştığımda; vendor\composer\composer\src\Composer\Command\BaseCommand.php konumunda Composer\Command\BaseCommand class’ına rastladım. Composer\Command\Command class’ının isminin değişmiş olabileceğini düşünerek vendor/magento/magento-composer-installer/src/MagentoHackathon/Composer/Magento/Command/DeployCommand.php satır 21’de Composer\Command\Command yerine Composer\Command\BaseCommand yazdığımda;
php bin/magento deploy:mode:set production
komutu artık çalışır duruma gelmişti.
- {{contentBtn.label}}
- {{contentCounts[859].likes}}
- {{contentCounts[859].dontlikes}}