Öncelikle hostingin gereksinimleri karşıladığından emin olun:
PHP >= 7.1.3
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
XML PHP Extension
Ctype PHP Extension
JSON PHP Extension
Bunun dışında yaptığınız iş, kullanılan paketlere göre bazı PHP eklentilerine de ihtiyacınız olacak. Örneğin file upload, file validation vs varsa fileinfo eklentisi gerekli olacaktır.
SSH erişimi olmayacağı için artisan komutlarını kullanamayacaksınız. Veritabanı varsa lokalde SQL olarak dışa aktarıp sunucuyu elle yükleyeceksiniz.
Dosyaları FTP'ye gönderirken vendor klasörünü göndereceksiniz. .env dosyasını göndermeyeceksiniz.
Dosyaları kök dizine göndereceksiniz. Yani public_html ya da httpdocs klasörünün olduğu dizine, bunların içine değil.
Örneğin web dosyalarının atıldığı dizin, yani document_root public_html ise FTP dosyaları gönderdikten sonra şöyle bir klasör yapısı olmalı:
app/
bootstrap/
config/
database/
public/
public_html/
resources/
routes/
storage/
tests/
vendor/
Daha sonra hosting alanınızda birlikte gelen public_html klasörünü silip Laravel'in kendi public klasörünün adını public_html olarak değiştiriyorsunuz.
public_html içerisindeki index.php dosyasında şu düzenlemeyi yapın:
// Bu satırı bulun
$app = require_once __DIR__.'/../bootstrap/app.php';
// Altına bunu ekleyin
$app->bind('path.public', function() {
return __DIR__;
});
Bunun dışında sistemde elle public yazılan yerler varsa değiştirmeniz gerekebilir.
Böyle deneyebilirsiniz.