Waarom geeft MAMP geen fouten weer?

Ok, dit begint erg frustrerend te worden. MAMP gaf fouten weer, maar stopte toen. Ik besloot om het opnieuw te installeren omdat ik het niet kon achterhalen. Ik controleer mijn PHP-versie met 5.4.4 en ga naar die map en verander de php.ini in dit:

error_reporting  =  E_ALL
display_errors = On

Er worden nog steeds geen fouten weergegeven. Ik ga door alle mappen en verander alle php.ini-bestanden, voor het geval dat. Niets. Ik repareer de geforceerde fout en dump phpinfo(), controleer de foutsectie en display_errors staat uit. Wel verdomme.

Ik plaats error_reporting(E_ALL); ini_set('display_errors', 'on');aan het begin van het PHP-bestand en phpinfo()opnieuw. Lokale waarde is nu Aan, master is nog steeds Uit. Forceer een PHP-fout en krijg nog steeds Serverfout, geen PHP-fout.

Iemand enig inzicht? Ik heb ergens een fout in een code en kan het niet vinden, ik zou graag willen dat PHP het me zou vertellen.


Antwoord 1, autoriteit 100%

MAMP stelt een paar verschillende php.ini-bestanden in voor de server, de client enz. Controleer in uw phpinfo()welke php.inidaadwerkelijk wordt gelezen. Het lijkt erop dat je de verkeerde bewerkt.


Antwoord 2, autoriteit 44%

Er zijn twee php.ini-bestanden op MAMP. Je moet beide php.inibestanden wijzigen.

  1. Applications/MAMP/bin/php/'php version you are using(php5.5.10)'/conf/php.ini
  2. Applications/MAMP/conf/php/'php version you are using(php5.5.10)'/conf/php.ini

Verander dan:

display_errors = Off 

naar:

display_errors = On

Antwoord 3, autoriteit 23%

Als u MAMP PRO gebruikt, moet u Foutafhandeling (PHP) inschakelen in de UI-interface, die ten minste twee hoofdopties moet bevatten: ‘Opstartfouten weergeven’ en uitvoer instellen op ‘Naar: weergeven’.

De optie

Display startup errorsis gelijk aan display_startup_errors(in PHP) en To: Displayto display_errors.

Zie hieronder:


Antwoord 4, autoriteit 9%

Wijzig de instelling in uw php.ini-bestand. Het bestand bevindt zich in MAMP > conf > php5 > php.ini

Zoek naar display_errors = Offen verander naar display_errors = On

Daarna moet u uw Apache- en MySQL-servers opnieuw opstarten om de wijziging door te voeren.


Antwoord 5, autoriteit 4%

MAMP PRO-gebruikers kunnen het PHP-tabblad in de gebruikersinterface bezoeken en ervoor zorgen dat Logfouten: naar scherm is aangevinkt: screencast


Antwoord 6, autoriteit 4%

Hier is een update van 2018 voor dit probleem.
Ten eerste, ik heb hetzelfde probleem en vond dit draadje. Ik gebruikte phpinfo() en vond nog een andere locatie van een php.ini-bestand. Dit zijn de paden (ik werk op een Mac):

/Applications/MAMP/bin/php/[php version]/conf/php.ini
/Applications/MAMP/conf/php/[php version]/php.ini

en …

/Library/Application Support/appsolute/MAMP PRO/conf/php.ini

De phpinfo()-pagina vermeldt twee bronnen voor de php.ini:

  • Pad configuratiebestand (php.ini)
    /Applicaties/MAMP/bin/php/[php-versie]/conf
  • Geladen configuratiebestand/Bibliotheek/Applicatie
    Support/appsolute/MAMP PRO/conf/php.ini

Uiteindelijk heb ik ze alle drie gewijzigd, error_reporting(E_ALL)aan sommige pagina’s toegevoegd, de server opnieuw opgestart (zelfs de machine opnieuw opgestart) en nog steedskan het niet krijgen om iets weer te geven foutmeldingen.

Ik weet niet zeker waar ik heen moet. Enig idee?

**** ——————————————- — ****
2020 Bewerken
**** ———————————————- ****
De laatste MAMP-upgrade (v6) heeft de hoofddirectory van de webhost gewijzigd. Het staat niet in de Applications/MAMP/ directory. Dat is een goed ding. Maar ik moest veranderen waar al mijn projecten wonen. Ik moest mijn IDE, Postman, Git en enkele anderen opnieuw configureren. Dus ik dacht dat dit een perfect moment zou zijn om over te stappen op Docker-containers.

Docker brengt een heel nieuw niveau van uitdagingen met zich mee, maar toen ik er eenmaal bekend mee was en een paar containers had ingezet, was het geweldig. Het voelt sneller aan bij het renderen in de browser en ik heb er meer vertrouwen in dat mijn projecten zullen draaien zoals verwacht op de productieserver. Uiteindelijk zullen onze productieservers containers gebruiken, dus dat is logisch voor mij.


Antwoord 7, autoriteit 3%

Als je MAMP versie 3.2.2 gebruikt, hoef je maar één php.ini-bestand te wijzigen:

Mac: Applications/MAMP/conf/'(php7.0.9)'/php.ini

Windows: C:\MAMP\conf\PHP Version you use'(php7.0.9)'\php.ini

Ik weet dat dit een oud bericht is, maar MAMP verandert steeds de configuratie van de bestanden, dus ik hoop dat dit helpt.


Antwoord 8, autoriteit 3%

Voor nieuwere versies van MAMP wordt het configuratiebestand opgeslagen in Appliations/MAMP/bin/php/[php version]/conf.

Andrew Nagy wees me in de goede richting met zijn antwoord, maar het was niet helemaal correct voor mijn installatie van MAMP. Waarom ze anders zijn, weet ik niet, maar hier zijn we dan.

Als iemand vastzit, is het eenvoudigste om gewoon <?php echo phpinfo(); ?>in het indexbestand van de applicatie en zoek naar de geladen php.inidirectory.


Antwoord 9

Er is ook een sjabloon opgeslagen in MAMP van de php.ini.
Ga naar File > Edit Template > PHP > Your Version.


Antwoord 10

Op MAMP 3.2.0 en PHP 7 moet je php.ini-productiontargeten en de waarde wijzigen in Production Value = On

Other episodes