rename() komut satırından düzgün çalışır, ancak cron işinden çalıştırıldığında, rename() bunu yapmaz. Connect.php dosyası çalıştığından beri, cron işinin doğru dizinde olduğunu varsayalım, ancak rename() 'in neden çalışmadığını anlayamıyorum. Ben mutlak yolları denedik ve onlar işe yaramadı:rename() cron işinde çalışmıyor
<?php
include 'connect.php';
$oldlocation='xxx/xxx/'.$oldfilename;
$newlocation='yyyy/xxx/'.$newfilename;
$move=rename("$oldlocation","$newlocation");
cron işi: * * * * */usr/bin/php /usr/xxx/xxx/xxx/xxx.php -q -f
Sunucuya root erişimi yok. Bu bir SHELL komut dosyası üzerinden çalıştırılacak mı?
10 Eksik "$ oldlocation" ve "$ newlocation" göreceli yollar olarak görünüyor. Cron muhtemelen komut dosyanızı farklı bir konumdan yürütür, mutlak hale getirmeye çalışın. – jojonas
Mutlak yollarınızı doğru şekilde ayarladığınızdan emin misiniz? Cron kesinlikle göreceli yollarla çalışmaz, ancak mutlak yolunuzun kökten tanımlandığından emin olmalısınız - 'include' /home/youraccount/public_html/includes/connect.php '; ' –
connect.php dosyası tam olarak gösterildiği gibi çalışır ve neden emin değilim, ama rename() mutlak yollara ihtiyaç, ben/yolun başında, ben bir tarayıcı veya komut satırında php için gerekli değil sanırım ama mutlak için gerekli yollar, yine tahmin ediyorum ama araştıracak. Yanıtlar için teşekkürler – jester