Magento 2.1.8 Production Bug

Halil İbrahim Özdemir

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.

Bir Cevap Yazın