Hallo zusammen,
Zuerst mal vielen Dank für diese Plattform, ich bin neu hier und froh, dass ich mich noch an jemanden wenden kann!
Auf meinem Webserver läuft SLES10 SP 2, Apache 2.2.3 und PHP 5.2.5
Nun versuche ich einen cronjob einzurichten, diese soll eine PHP-Datei ausführen (dies klappt in der shell > /usr/bin/php datei.php).
In der crontab ist folgendes eingetragen:
*/15 * * * * wget -o http://domain.ch/administration/loeschenLock/inhalt.php
Wenn ich in der shell den Befehl ausführe findet er diese Datei nicht (Rechte 777; Pfad stimmt):
webserver01:/srv/www/websites/domain/administration/loeschenLock # wget -dv http://domain.ch/administration/loeschenLock/datei.php
Setting --verbose (verbose) to 1
DEBUG output created by Wget 1.10.2 on linux-gnu.
--14:13:37-- http://domain.ch/administration/loeschenLock/datei.php
=> `datei.php.1'
Resolving domain.ch... x.x.x.x
Caching domain.ch => x.x.x.x
Connecting to domain.ch|x.x.x.x|:80... connected.
Created socket 3.
Releasing 0x08088460 (new refcount 1).
---request begin---
GET /administration/loeschenLock/datei.php HTTP/1.0
User-Agent: Wget/1.10.2
Accept: */*
Host: domain.ch
Connection: Keep-Alive
---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.0 404 not Found
Date: Thu, 23 Apr 2009 12:13:37 GMT
Server: Apache/2.2.3 (Linux/SUSE)
X-Powered-By: PHP/5.2.5
Content-Length: 20
Connection: close
Content-Type: text/html
---response end---
404 not Found
Closed fd 3
14:13:37 ERROR 404: not Found.
Bei anderen PHP-Dateien im gleichen Pfad klappt das jedoch. Hier noch die Datei (funktioniert):
--> $USERNAME, $PASSWORT aus Script entfernt.
<?php
if(!defined('INC_SCRIPT')) {header("HTTP/1.0 404 not Found"); exit;}
// error_reporting(E_ERROR | E_WARNING | E_PARSE );
// Produktive umgebung
// $hostName = "localhost";
// TEST umgebung
$hostName = "localhost";
$mysqli = new mysqli($hostName, $username, $password, $databaseName);
if(!$mysqli){
die('Es war keine Verbindung zu Datenbank möglich.');
}
$zeit = date("Y-m-d H:i:s", strtotime("-15 minutes", time()));
// print 'Zeit jetzt '.date("Y-m-d H:i:s").'</br>';
// print 'Zeit ausgabe '.$zeit.'</br>';
if($mysqli_stmt = $mysqli->stmt_init()){
$sql = "DELETE FROM tempSperre WHERE LockDate < '{$zeit}' ";
$mysqli_stmt->prepare($sql);
$mysqli_stmt->execute();
$mysqli_stmt->close();
// print ' Datensatz gelöscht.'.'</br>';
}else{
// print ' konnte keine Datensatz löschen.'.'</br>';
}
$mysqli->close();
?>
Muss da in der php.ini eine Barriere entfernt werden? In der my.cnf?
Ich weis leider nicht mehr weiter... Habt ihr noch eine Idee?
Tausend Dank
Pascal