Saya telah mengunduh dan menginstal Magento 2 dari https://github.com/magento/magento2
Tapi saya mendapatkan error 404 untuk skrip dan cs yang terletak di http: // localhost / magento2 / pub / static /
Saya telah memeriksa, mesin penulisan ulang Apache hidup. Tapi tetap saja, file css dan js tidak memuat.
Ketika saya mencoba mengakses file langsung dari browser itu memberikan pengecualian berikut.
Cannot create a symlink for "D:/xampp/htdocs/magento2/lib/web/mage/calendar.css" and place it to "D:/xampp/htdocs/magento2/pub/static/frontend/Magento/blank/en_US/mage/calendar.css" Warning!symlink(): Cannot create symlink, error code(1314)
#0 D:\xampp\htdocs\magento2\lib\internal\Magento\Framework\Filesystem\Directory\Write.php(155): Magento\Framework\Filesystem\Driver\File->symlink('D:/xampp/htdocs...', 'D:/xampp/htdocs...', Object(Magento\Framework\Filesystem\Driver\File))
#1 D:\xampp\htdocs\magento2\lib\internal\Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink.php(30): Magento\Framework\Filesystem\Directory\Write->createSymlink('lib/web/mage/ca...', 'frontend/Magent...', Object(Magento\Framework\Filesystem\Directory\Write))
#2 D:\xampp\htdocs\magento2\lib\internal\Magento\Framework\App\View\Asset\Publisher.php(65): Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink->publishFile(Object(Magento\Framework\Filesystem\Directory\Write), Object(Magento\Framework\Filesystem\Directory\Write), 'lib/web/mage/ca...', 'frontend/Magent...')
#3 D:\xampp\htdocs\magento2\lib\internal\Magento\Framework\App\View\Asset\Publisher.php(49): Magento\Framework\App\View\Asset\Publisher->publishAsset(Object(Magento\Framework\View\Asset\File))
#4 D:\xampp\htdocs\magento2\lib\internal\Magento\Framework\App\StaticResource.php(118): Magento\Framework\App\View\Asset\Publisher->publish(Object(Magento\Framework\View\Asset\File))
#5 D:\xampp\htdocs\magento2\lib\internal\Magento\Framework\App\Bootstrap.php(245): Magento\Framework\App\StaticResource->launch()
#6 D:\xampp\htdocs\magento2\pub\static.php(13): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\StaticResource))
#7 {main}
Sistem operasi saya adalah Windows 7 dan saya menjalankan xampp server.
Jawaban:
Ketika tidak dalam mode produksi, Magento 2 akan mencoba membuat symlink untuk beberapa sumber daya statis. Anda dapat mengubah perilaku itu dengan melakukan hal berikut.
Buka
app/etc/di.xml
dan temukanvirtualType name="developerMaterialization"
bagian itu. Di bagian itu Anda akan menemukan itemname="view_preprocessed"
yang perlu diubah atau dihapus. Anda dapat memodifikasinya dengan mengubah konten dariMagento\Framework\App\View\Asset\MaterializationStrategy\Symlink
menjadiMagento\Framework\App\View\Asset\MaterializationStrategy\Copy
Hapus file di bawah pub / statis untuk menghilangkan symlink yang ada. Anda mungkin ingin berhati-hati untuk tidak menghapus
.htaccess
file.Ini akan menyelesaikan kesalahan Anda dengan symlink.
sumber
Saya menghadapi masalah ini dan mencoba mencari tahu. Saya setuju dengan Chris O'Toole. Saya akan menambahkan langkah ekstra. Langkah saya adalah,
Ganti Symlink dengan Salin kata. Menyimpan.
Hapus semua folder di pub / statis. Jangan hapus .htaccess dan file lainnya.
Jalankan xampp sebagai administrator. Jalankan baris perintah sebagai administrator. Lari
grunt exec:<theme name>
.Anda akan melihat itu berjalan dengan baik.
Maka Anda bisa lari
grunt less:<theme name>
Akhirnya kamu bisa lari
grunt watch
Ketika Anda melakukan perubahan dalam lebih sedikit file (_theme.less atau _extend.less) secara otomatis akan membuat file style-l dan style-m css di pub / folder statis.
Saya menjalankan Magento 2.1 di windows 10.
sumber
Ingatlah untuk memperbarui izin file setelah Magento membuat file statis baru ini. Mereka tidak dimiliki oleh www-data, jadi mereka akan memberikan 404.
sumber
Dalam kasus saya itu bukan karena saya
app/etc/di.xml
telahMagento\Framework\App\View\Asset\MaterializationStrategy\Symlink
seperti yang disebutkan oleh @Chrish. Itu karena salah satu modul saya memiliki kesalahan skrip di.phtml
file saya . Saya akan merekomendasikan untuk memeriksa kode Anda dalam.phtml
file. Dalam kasus saya itu diselesaikan dengan membuat koreksi pada file skrip sayainitialize.phtml
.sumber
Saya menemukan penting untuk menggunakan izin yang benar untuk apache dengan mod_php untuk pub / static dan var / folder. Dari artikel Alan Storm http://alanstorm.com/magento_2_adding_frontend_files_to_your_module
Anda harus menjalankannya di terminal server. Itu memperbaiki saya 404 kesalahan untuk skrip dan gambar.
ps Tapi itu untuk Linux.
sumber
chmod -R 777 /path/to/magento2/pub/static /path/to/magento2/var
Saya pikir cara yang tepat untuk melakukan ini adalah dari command line: cd ke direktori magento Anda dan jalankan perintah berikut:
var/cache
Direktori kosong dan periksa.sumber
Baru saja menghapus semua file di bawah
pub/static/*
. Magento akan secara otomatis menghasilkan file statis untuk Anda ketika Anda memuat halaman.sumber
Anda harus menjalankan Xampp (apache, nginx) dll sebagai Administrator untuk memungkinkannya membuat Symlinks di Windows (diuji dengan Windows 10).
sumber