[PHP] Command-line runnen levert geen E_NOTICE op

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,

ik probeer nu een php script via de command line te runnen; dat gaat goed, alleen wil ik ook E_NOTICE errors zien en die krijg ik niet.
Dit is m'n php script (index.php):

PHP:
1
2
3
4
5
6
7
8
#!/usr/bin/php
<?php

echo ini_get('error_reporting');

echo $wiejj;

?>


Ik run 'm zowel via "./index.php" als "php -f index.php" maar ik krijg maar geen output (ik zou dus een E_NOTICE warning moeten krijgen omdat $wiejj niet gedefinieerd is). In php.ini staat display_errors op On (normale errors krijg ik wel) en error_reporting op E_ALL. ini_get levert ook niks op, dus het lijkt wel alsof ie deze setting niet overneemt. Runnen via "php -f -d error_reporting=E_ALL index.php" zorgt er wel voor dat ie E_ALL echo't, maar nog steeds geen E_NOTICE.

Als ik het geheel via een browser bekijk krijg ik wel alles te zien (dus ook de E_NOTICE).

Wie weet waar dit aan kan liggen?

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Volgens mij hoor je daar geen notice voor te krijgen. Probeer in plaats van echo $wiejj; eens echo $wiejj[blaat];. Daar krijg je namelijk sowieso wel een notice voor als het goed is. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
code:
1
echo $wiejj[blaat];
of
code:
1
echo $wiejj['blaat'];
leveren allebei ook geen E_NOTICE op. :(

Als ik ín het script zelf trouwens
code:
1
ini_set('error_reporting', E_ALL);
doe, krijg ik wel netjes een E_NOTICE dat $wiejj niet gedefinieerd is. Het probleem lijkt dus dat zodra ik een php script via cli run, hij niet de default php.ini leest. Zijn er geen aparte settings voor php in cli mode?

[update]

Ok, ik ben erachter. Heeft feitelijk niks met php te maken: ik run php op Mac OS X en daar zit php op voorgeïnstalleerd. Ik heb echter php 5 ernaast geinstalleerd, en bleek dat de php versie in /usr/bin nog de oude php was. Ik heb 'm nu geupdate naar de php5 versie en alles doet t nu perfect. :)

[ Voor 32% gewijzigd door Verwijderd op 01-02-2007 21:15 ]


Acties:
  • 0 Henk 'm!

  • xces
  • Registratie: Juli 2001
  • Laatst online: 20-09 16:56

xces

To got or not to got..

Oke, nog 1 dingetje. Ik weet niet of het een cronjob is die nachtelijks uitvoert, maar ik heb dat dan zo opgelost.
Ten eerste; geen "#!/usr/bin/php" erbij, maar in de cronjob dit ervoor zetten.

Daarnaast de volgende beveiliging erin:
PHP:
1
2
3
    if (strtoupper(substr(php_sapi_name(), 0, 3)) != 'CLI') {
        die('Access denied from the environment you are using.');
    }