Geçtiğimiz haftalarda sitemizin bulunduğu sunucuyu değiştirmek zorunda kalmıştık. Joomla'da dosya yöneticisi olarak Remository kullanıyorduk. Remository'de dosyaların hangi klasörlerde olduğunu MySQL de veritabanına kaydediliyor. Yeni sunucuya geçerken sunucu yolunu ( hesap adı farklı olduğu için sunucu yolu değişiyor mecburen ) farklı seçtiğimiz için dosyalar artık indirilemez olmuştu.
Aslında cPanel - PhpMyAdmin ile tek tek tüm dosyaları düzeltmek mümkün olabilirdi ancak 70 civarı dosyayı tek tek değiştirmek hamallık olacaktı. Bu işin kısayolu MySQL de vardır diyerek düşündüm ve yaptığım araştırmalar sonucunda tek satırlık komutla bu işi halletmenin mümkün olduğunu öğrendim. Bilgisayarınızda yüklü olan Php Editörlerinden birisi ile ya da direkt Not Defteri ile kodları yazabilirsiniz:01. <?php
02.
03. $bt = mysql_connect("localhost","kullanıcı_adı","parola");
04. $db = mysql_selectdb("veritabanı_adı",$bt);
05.
06. mysql_query("UPDATE jos_downloads_files SET filepath = replace(filepath,'/home/eskisi','/home/yenisi')");
07. ?>
Satırları açıklayacak olursak:
01. Php tagını açtık
02.
03. Veritabanına bağlantı için kullanıcı adı ve parolanızı yazmalısınız. Ör: ( zumrut_kullanici )
04. Veritabanı dosyanızın adını yazmalısınız
05.
06. mysql_query ile sorgu çalıştıracağız. Sorgumuz UPDATE türünde olacak. jos_downloads_files Remositor'nin dosyaları tuttuğu tablo adı. SET devamında gelen filepath tabloda dosya yolunu tutan alan adıdır. Replace komutu ile /home/eskisi görülen yerleri /home/yenisi olarak güncelle diyoruz.
Dosyamızı zumrut.php olarak kaydedip siteye FTP ile yüklüyoruz. Dosyayı çalıştırınca tüm güncelleme işlemi başarıyla tamamlanmış olacaktır. Bu işlemleri yapmadan önce veritabanının yedeğini mutlaka almayı unutmayın.
| < Önceki | Sonraki > |
|---|