PHP (algemeen): verschil tussen versies
(→Arrays) |
|||
Regel 1: | Regel 1: | ||
− | |||
− | |||
− | |||
− | |||
== Commentaarregels == | == Commentaarregels == | ||
Huidige versie van 18 apr 2019 om 08:01
Commentaarregels
<?php echo "Hello World!"; // Dit is een commentaarregel echo "Hello World!"; # Dit is ook een commentaarregel /* Dit zijn ook commentaarregels */ /* * Dit zijn ook commentaarregels. Ik denk dat het een * conventie is, om de regels van sterretjes te voorzien. * Ik houd niet van binaire commentaar-tekens. Het is * bij uitstek iets wat ik bij HTML irritant vind, * omdat je commentaarregels daardoor niet kunt nesten. */ ####################################################### # Dit is een heading ####################################################### # # En dit is een subheading ############################## # # * De heading is hier 55 tekens breed. Da's de breedte # van Sublime Editor op m'n (relatief kleine) # 1024x?-scherm op kantoor # * De subheading is hier zo'n 30 tekens breed. # Als-ie maar flink korter is dan die van de # header, zodat ik de hierarchie goed kan zien. # echo "Hello, world!" ?>
E-mail versturen
Om vanuit PHP e-mail te versturen, heb je in ieder geval de volgende issues:
- Er moet een mailserver geconfigureerd zijn. Dat kun je via phpinfo() testen;
- Veel ontvangende mail-servers doen een soort reverse lookup om te verifiëren dat de verzendende mailserver ook echt bestaat.
Er is ook een andere manier: Vergelijkbaar met nail (ipv. mail) kun je een externe SMTP-server specificeren. Dat vind ik eigenlijk veel logischer. De locale server functioneert dan als een gewone e-mailclient.
1. Controleer phpinfo()
Maak een testbestand aan met extentie .php, bv. phpinfo.php:
<?php phpinfo(); ?>
2. Test-email
Bv.:
<?php $Message="Dit is de body"; $Topic="Onderwerp"; mail('info@example.com', $Topic, $Message); ?>
Bron: http://php.net/manual/en/function.mail.php
Fatal error: Allowed memory size ... exhausted
Complete foutmelding:
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 8 bytes) in /var/www/MySite/sites/default/modules/views/modules/views_user.inc on line 102
Waarschijnlijk wordt dit verzoorzaakt door een PHP-geheugenlimiet. Het genoemde getal twee keer gedeeld door 1024, geeft namelijk 16 MB, een veelvoorkomende limiet.
In /etc/php5/apache2/php.ini de volgende regel als volgt aangepast:
memory_limit = 64M ; Maximum amount of memory a script may consume (16MB)
Herstart vervolgens Apache, zodat de aangepaste instellingen van kracht worden.
Fatal error: Maximum execution time exceeded
Complete foutmelding:
Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/MySite/sites/default/modules/backup_migrate/backup_migrate.module on line 1178
Het betreffende gebied in php.ini:
;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;; max_execution_time = 30 ; Maximum execution time of each script, in seconds max_input_time = 60 ; Maximum amount of time each script may spend parsing request data ;max_input_nesting_level = 64 ; Maximum input variable nesting level memory_limit = 256M ; Maximum amount of memory a script may consume (16MB)
Het gaat hierbij om de eerste regel.
Server-bestanden
Server-bestanden met zowel HTML als PHP, moeten de extensie .php hebben.