Bugün aynı tip hata aldım:
PHP Önemli hata: Sınıf Class \ Name \ Burada bildirilemiyor, çünkü ad zaten 100 satırındaki /var/www/m2/magento2/app/code/path/to/the/class.php dosyasında kullanılıyor
burada 100 satırı dosyanın sonu olur.
Yaklaşık 4 saat hata ayıklamadan sonra gerçekten nedenini buluyorum: ad alanı beyanında yanlış baskı. Son ana kadar, isim beyanında tipografik bir hata olduğuna inanmadım, ancak tüm isimleri tekrar yazdığımda - hata kayboldu. Bu makale çok yardımcı oldu:
Bir süre başımı kaşıracağım, neler olduğunu merak edeceğim ve sonunda bunun bu olduğunu anlayacağım
Pulsetorm
yani bir ad alanı adını yanlış yazdım ve ilk otomatik yükler sınıf dosyasını yüklediğinde, aradığı sınıfı tanımlamayacak ve sonra ikinci bir otomatik yükleyici (Composer genellikle) tekrar yükler ve yeniden tanımlamaya çalışır. yanlış sınıf.
yani, Magento sınıfı istedi
Pulsestorm\Helloworld\Observers\Block
ama ben tanımladım
Pulsetorm\Helloworld\Observers\Block
yanlış isim alanı sayesinde.
Teşekkürler Alan Storm :)
GÜNCELLEME:
Bu hatanın başka bir türü, bu örnekte olduğu gibi ad alanının eksik bölümüyle birlikte yanlış Ad Alanı bildirimi:
Hata:
Havuz kodu oluşturma ... 1/7 [====> -----------------------]% 14 1 sn 50.0 MiBPHP Önemli hata: Beyan edilemez class Migration \ Step \ Version11410to2000Test, çünkü ad zaten /var/www/vhosts/rwld/vendor/magento/data-migration-tool/tests/unit/testsuite/Migration/Step/UrlRewrite/Version11410to2000Test.php adresinde zaten kullanılıyor 109 numaralı hat
burada 109 satırı dosyanın sonu olur.
Dosyada , bu sınıfın yolu olduğu için ad alanını doğru ad alanının olması gerektiği vendor/magento/data-migration-tool/tests/unit/testsuite/Migration/Step/UrlRewrite/Version11410to2000Test.php
gibi bulduk . Ad alanını değiştirdikten sonra hata giderildi.Migration\Step
Migration\Step\UrlRewrite
Migration/Step/UrlRewrite
Migration/Step/UrlRewrite