v2.5.2
Giriş yap

XAMMP Localhostta çalışan kodların Sunucuda çalışmama sorunu

ynscnr55
654 defa görüntülendi

Arkadaşlar merhaba. Projemi localhost üzerinden çalışıp yapıyorum fakat şöyle bir problem var. Localde çalışan kodlar sunucuya geçince çalışmıyor. Host sahibi ile iletişime geçtim localhost phpmyadmin sürümü mariadb olduğu için problem bundan dolayı olabilir dedi. Sorunu nasıl çözebilirim ?

Cevap yaz
Cevaplar (8)
ynscnr55
785 gün önce

kısaca şöyle anlatayım. Şuan zaten demo sistemi üzerinde çalısıyorum. Bi kurumsal website içi panel hazırladım localde sorun yok.

insert into tablo (veriler) values (????)
şeklinde girdileri kaydetme kodlarını yazıyorum. Her kısmı teker teker denediğimde bir kısım çalısıyor yani kayıt ya da değişim yapıyor bir kısmı ise yapmıyor. Kod tabanı aynı kod. Sorun artık db ile alakalı gibime geliyor.

'''

<?php

try{

    $db=new PDO("mysql:host=localhost;dbname=denemeler;",'root','123456');
    $db->query("SET NAMES utf8");
    // $db=new PDO("mysql:host=localhost;dbname=database name",'database username','database password')
 // echo "Veritabanı Baglantısı Başarılı";

}
catch (PDOException $e)
{

echo $e->getMessage();

}
?>

db baglantım bu şekildedir. çok karışık bi iş oldu. Pc bozulduğu için telden yazıyorum.

ebykdrms
785 gün önce

abi kodlar hata vermiyor. kodlar çalışıyor fakat olay şu. aynı kodlar locslhosta veriyi dbye kaydederken sunucuya kaydetmiyor. php sürümleri aynı tek fark localhost mariadb sunucu mysql destekliyor.

Sorun sadece veritabanı türüyse kodlarınızdaki veritabanı bağlantı komutlarını düzenlemeniz gerekir.
Mesela veritabanına bağlanmak için hangi komutları kullandığınızı (özel verilerinizi değiştirerek) paylaşırsanız bunları nasıl MySQL'e göre düzeltebileceğinizi söyleyebiliriz.
Tabi sunucuda MySQL'inizin tüm tablolarıyla birlikte hazır bulunduğunu varsayıyorum.

Ama kodunuz veritabanına bağlanamıyor bile olsa "bağlanamıyorum" diye hata vermesi gerekir. Siz hiç hata da vermiyor diyorsunuz. Yani bir insert işlemi sırasında veritabanıyla bağlantı kuramadıysa bir hata dönüyor olmalı mesela.

acemi
786 gün önce

localhost tan php.ini deki hangi eklentiler aktif ona bak
sonra cpanel den php sürümünde o eklentiler aktif mi ona bak bence.

sonra atıyorum ekelme yaparken
insert into tablo (veriler) values (????)
gibi mi yoksa
insert into tablo veri=?, veri2=?
gibi mi oda fark edebiliyor sunucu bazen birini desteklemiyor da olabilr.
daha önce karşılaştığım sorunlar ama genelde eklentilerden dolayı hata meydana geliyor.
farazi bir örnek vereyim
localhost da GD kütüphanesi verken cpanel de yokise aktif değil ise hatalar alırsın

ynscnr55
786 gün önce

abi kodlar hata vermiyor. kodlar çalışıyor fakat olay şu. aynı kodlar locslhosta veriyi dbye kaydederken sunucuya kaydetmiyor. php sürümleri aynı tek fark localhost mariadb sunucu mysql destekliyor.

ebykdrms
786 gün önce

sunucudaki php sürümünüzle localhost'taki php sürümünüz aynı veya yakın olmalı.
PHP sürümünüzü kolayca öğrenmek için bir PHP dosyası oluşturun ve içine <?php phpinfo(); yazıp kaydedin.
Bu dosyayı hem localhost'ta hem sunucuda tarayıcıdan açın ve iki sayfa arasındaki versiyon farklarını bulun.

MariaDB demişsiniz. Sorun veritabanı sürümlerinizden kaynaklanıyor da olabilir elbet. Locahost'ta bağlandığınız veritabanıyla sunucudan bağlandığınız veritabanı arasında versiyon farklılığı varsa bazı SQL komutları birinde çalışıp birinde çalışmıyor olabilir.

PHP'nin ne hata verdiği de önemli. Görünen hatayı yazarsanız daha detaylı cevap vermek mümkün olabilir.
Eğer sunucu hataları gösteremiyorsa, erişmeye çalıştığınız PHP sayfasının başına şu kodları yazmayı deneyebilirsiniz:

<?php
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);

Böylece sunucuda ayrıca bir ayar yapılmamışsa sayfanız hatayı gösterecek şekilde sonuç gösterecektir.

abdullahx
786 gün önce

cpanel den error_log dosyası oluşturmayı aktif ettiniz mi

ynscnr55
786 gün önce

FTP de gözüken bir error_log dosyası yok. Güncelleme yapabiliyorum fakat ekleme yapamıyorum.

abdullahx
786 gün önce

Yok mu bir error_log dosyası