wget / crontab / php / Apache

Alles, was PHP betrifft, kann hier besprochen werden.

wget / crontab / php / Apache

Postby thirdeye » 23. April 2009 13:29

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
thirdeye
 
Posts: 2
Joined: 23. April 2009 13:09

Re: wget / crontab / php / Apache

Postby Xardas der Dunkle » 23. April 2009 14:43

Code: Select all
<?php
if(!defined('INC_SCRIPT')) {header("HTTP/1.0 404 not Found"); exit;} 

Dürfte daher wohl auch nur funktionieren, wenn das Script in eine Datei eingebunden wird wo diese Konstante definiert wird ...
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: wget / crontab / php / Apache

Postby thirdeye » 23. April 2009 14:55

Fehler gefunden:

datei.php:

// if(!defined('INC_SCRIPT')) {header("HTTP/1.0 404 not Found"); exit;}

Aus der Datei entfernt... klappt jetzt! Trotzdem Danke! :)

Gruss
Pascal
thirdeye
 
Posts: 2
Joined: 23. April 2009 13:09


Return to PHP

Who is online

Users browsing this forum: No registered users and 26 guests