PHP datum problemen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rob T

Rob T

28/04/2017 19:21:35
Quote Anchor link
Ik zit ineens met een probleem na verhuizing van mijn site naar een andere server, waar een andere PHP versie draait (5.6 of 7). Hij staat nu op 5.6.

Ik verschillende scripts gebruik ik volgende script regels mbt bepalen welke dag het is
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$nieuwjaar
= new \DateTime($jaar . "-01-01");

$pasen = new \DateTime();
$pasen->setTimestamp(easter_date($jaar));
$paasMaandag = clone $pasen;
$paasMaandag->add(new \DateInterVal('P1D'));
?>

En zo nog nog een aantal. Hier voor bepalen op welke dagen de feestdagen vallen.

Mijn script stopt op deze regels.

Iemand enig idee hoe dat komt en wat ik moet doen om dit weer te laten werken.

Toevoeging op 28/04/2017 19:51:09:

script regels Vanuit http://php.net/manual/en/datetime.construct.php doen het ook niet
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
// Specified date/time in your computer's time zone.
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:sP') . "\n";
?>

Script stopt op de eerste regel.

Kan dus niet aan script liggen.

Kan het zijn dat er instellingen in Cpanel niet goed staan?
Gewijzigd op 28/04/2017 19:58:17 door - Ariën -
 
PHP hulp

PHP hulp

27/12/2024 13:21:23
 
- Ariën  -
Beheerder

- Ariën -

28/04/2017 20:00:01
Quote Anchor link
Wat meldt de error_log?
 
Rob T

Rob T

28/04/2017 21:09:02
Quote Anchor link
De foutenlog in Cpanel is leeg. Of is er ergens anders nog een error log te vinden (heb daar nog niet zo veel ervaring mee).
 
Ben van Velzen

Ben van Velzen

28/04/2017 21:42:19
Quote Anchor link
Zet de foutrapportage eens aan door dit bovenaan je script te zetten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
?>
 
Rob T

Rob T

28/04/2017 21:51:22
Quote Anchor link
bedankt voor deze tip.

Krijg de volgende errors:
Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.' in /home/marmotte2003/public_html/batch/testDateTime.php on line 50
( ! ) Exception: DateTime::__construct(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/marmotte2003/public_html/batch/testDateTime.php on line 50

En op die regel staat deze code:
$date = new DateTime('2000-01-01');
 
- Ariën  -
Beheerder

- Ariën -

28/04/2017 21:54:59
Quote Anchor link
En heb je die configuratie al doorgevoerd?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

28/04/2017 21:57:39
Quote Anchor link
In php.ini even de tijdzone op Europe/Amsterdam zetten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Amsterdam


Toevoeging op 28/04/2017 21:59:31:

en als dat niet gaat dan zul je aan het begin van je script dit moeten doen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
date_default_timezone_set('Europe/Amsterdam');
?>


Toevoeging op 28/04/2017 22:02:35:

En uiteraard ook de webserver herstarten nadat je php.ini aangepast hebt
 
Rob T

Rob T

28/04/2017 22:04:13
Quote Anchor link
waar kan ik de php.ini file vinden?

Toevoeging op 28/04/2017 22:09:51:

date_default_timezone_set('Europe/Amsterdam');

Dit lost het probleem op.

Allen moet ik dit nu in elk script opnemen? Voorheen had ik het nergens staan.
 
- Ariën  -
Beheerder

- Ariën -

28/04/2017 22:11:03
Quote Anchor link
Kijk eens naar de waarde van
"Loaded Configuration File" in phpinfo. De kans is groot dat je wel root-rechten op de server moet hebben. Anders moet je Frank's oplossing in je PHP-script toevoegen.
Gewijzigd op 28/04/2017 22:11:19 door - Ariën -
 
Rob T

Rob T

28/04/2017 22:14:35
Quote Anchor link
Configuration File (php.ini) Path /opt/alt/php56/etc
Loaded Configuration File /opt/alt/php56/etc/php.ini
Scan this dir for additional .ini files /opt/alt/php56/link/conf
Additional .ini files parsed /opt/alt/php56/link/conf/alt_php.ini

Toevoeging op 28/04/2017 22:17:56:

Geen idee waar ik /opt/alt/php56 kan vinden
 
- Ariën  -
Beheerder

- Ariën -

28/04/2017 22:22:31
Quote Anchor link
Om even te herhalen:
- Ariën - op 28/04/2017 22:11:03:
De kans is groot dat je wel root-rechten op de server moet hebben. Anders moet je Frank's oplossing in je PHP-script toevoegen.
Gewijzigd op 28/04/2017 22:23:03 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

28/04/2017 22:30:09
Quote Anchor link
Wie host de server? Welk pakket heb je gekozen?
 
Rob T

Rob T

28/04/2017 22:37:27
Quote Anchor link
neostrada. Resellers beginners pakket. En dit draait op een van de sub accounts.

Toevoeging op 28/04/2017 22:38:05:

En bedankt voor de snelle reacties. Top.
 
- Ariën  -
Beheerder

- Ariën -

28/04/2017 22:39:25
Quote Anchor link
Dan moet je het in je PHP-script oplossen, zoals Frank beschrijft.
Dan zal je geen toegang hebben tot je php.ini.
Gewijzigd op 28/04/2017 22:39:38 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

28/04/2017 22:40:03
Quote Anchor link
Dan zou ik even een ticket aanmaken bij de helpdesk. Lijkt mij dat die jongens je daar wel bij kunnen en willen helpen.
 
Ward van der Put
Moderator

Ward van der Put

29/04/2017 09:32:48
Quote Anchor link
Vanaf PHP 5.3 kun je eventueel nog een .user.ini per directory gebruiken.
 
Ivo P

Ivo P

29/04/2017 11:28:41
Quote Anchor link
als oplossing tussen php.ini en 'in elk script (includen)'
zou het ook nog in een .htaccess in de document root kunnen

php_value date.timezone 'Region/Zone'
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.