[PHP/Magento2] Maintenance mode werkt niet

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • QinX
  • Registratie: Augustus 2006
  • Nu online

QinX

Shai-Hulud

Topicstarter
Ik ben bezig een Magento 2 webshop op te zetten en ik wil tijdens het uitproberen, vullen en themen de site in maintenance mode hebben staan. Mensen moeten dan een placeholder zien die naar een andere website verwijst in de tussen tijd.

Ik heb de site in developer mode gezet waardoor caching etc uit hoort te staan. Echter als ik maintenance mode ook aan zit krijg ik de volgende melding.

Unable to proceed: the maintenance mode is enabled.
#0 /public_html/vendor/magento/framework/App/Bootstrap.php(256): Magento\Framework\App\Bootstrap->assertMaintenance()
#1/public_html/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#2 {main}

Mijn vraag is dan ook eigenlijk, hoe krijg ik maintenance mode goed werkend terwijl ik in developer mode zit, let wel, ook in production mode werkt de maintenance pagina niet.

Relevante software en hardware die ik gebruik
VPS met CentOS en DirectAdmin

Wat ik al gevonden of geprobeerd heb
Ik ben geen echte PHP/linux man, ik kan wel wat HTML en CSS maar zodra het Linux gerelateerd is houd het voor mij toch wel op. Zodoende heeft onze hoster tegen hun voorwaarden in toch voor ons Magento 2 geïnstalleerd maar daar houd de support dan ook op.

Magento 2 is kennelijk dusdanig nieuw dat ik geen oplossingen kan vinden, daarbij komt dat de kans natuurlijk ook groot is dan mijn zoektermen niet kloppen. Ik zoek dan op dingen zoals "Magento 2 maintenance mode not working" "Magento developer mode and maintenance mode error" en vergelijkbare termen.

Edit: Nu blijkt het admin paneel ook niet meer te werken.

Ik vermoed dat er iets met de file permissions niet klopt.
Momenteel staat alles op 770 voor folder en 660 voor bestanden

[ Voor 5% gewijzigd door QinX op 06-06-2016 15:30 ]

http://tweakers.net/productreview/user/184256

Alle reacties


Acties:
  • 0 Henk 'm!

  • dev10
  • Registratie: April 2005
  • Laatst online: 09-09 15:21
De melding die je krijgt, klopt: Magento stopt met uitvoeren van de bootstrap, omdat Magento in maintenance-mode staat. Dit geldt voor zowel productie als development. Omdat je de website in development mode hebt staan, krijg je een mooie stacktrace erbij.

Als ik in de broncode van Magento kijk, zie ik dat er bij de controle op de maintenance mode gekeken wordt naar IP-adres. Volgens de documentatie van Magento, kun je deze meegeven bij het in maintenance mode zetten: http://devdocs.magento.co...li-subcommands-maint.html.

Ik begrijp alleen niet helemaal waarom je op deze manier wilt werken. Je kunt beter gebruik maken van een ontwikkelomgeving waar je de website op bouwt en test. Als alles dan klaar is, zet je de hele bups live. Op de locatie waar je de website wilt gaan draaien zet je dan in de tussentijd een placeholder neer.
Edit: Nu blijkt het admin paneel ook niet meer te werken.
Dat is logisch, omdat de maintenance mode voor de hele website, inclusief beheerders panel geldt.
Momenteel staat alles op 770 voor folder en 660 voor bestanden
Dat zou standaard 755 voor mappen en 644 voor bestanden moeten zijn. Ik weet niet hoe PHP geïnstalleerd staat op de DirectAdmin omgeving, maar als dit door middel van suPHP geïnstalleerd staat, hoef je hier niets in aan te passen. Anders zou je alleen de volgende mappen beschrijfbaar moeten maken:
- vendor
- app/etc
- lib
- pub static

[ Voor 5% gewijzigd door dev10 op 06-06-2016 16:46 ]


Acties:
  • 0 Henk 'm!

  • QinX
  • Registratie: Augustus 2006
  • Nu online

QinX

Shai-Hulud

Topicstarter
Klopt in een ontwikkelomgeving zou het beter gaan, maar omdat ik geen ontwikkelomgeving heb en mijn kennis niet toereikend is wil ik het graag zo doen.

Het stomme is deze melding kreeg ik eerst niet, als ik maintenance mode aanzet dan moet je een 503 pagina te zien krijgen, en deze wil ik vervangen door een placeholder voor alle IPs behalve die van mij.

Ik heb dus wel gewoon toegang tot de site doordat mijn IP allowed is, maar ja bezoekers moeten wel de placeholder te zien krijgen en niet een melding dat de site in maintenance mode staat.

http://tweakers.net/productreview/user/184256


Acties:
  • 0 Henk 'm!

  • dev10
  • Registratie: April 2005
  • Laatst online: 09-09 15:21
QinX schreef op maandag 06 juni 2016 @ 16:47:
Klopt in een ontwikkelomgeving zou het beter gaan, maar omdat ik geen ontwikkelomgeving heb en mijn kennis niet toereikend is wil ik het graag zo doen.
Omdat je gebruik maakt van DirectAdmin is dit in weze niet heel moeilijk:

1: Je maakt een subdomein aan onder Your Account > Suddomain management. (Bijvoorbeeld dev.mijnwebshop.nl)
2: Via de filemanager ga je naar de public_html map en selecteer je alles behalve de map dev (Als je dev als sudomein gebruiker) en klik je onderin op 'Add to clipboard'
3: Je gaat naar de filemanager naar de map 'dev' en klikt op 'Move Clipboard Files here'
4: Eventueel kun je met 'Password protected directories' de dev map beveiligen met een wachtwoord, zodat je ontwikkelomgeving naar buiten niet open staat.
Het stomme is deze melding kreeg ik eerst niet, als ik maintenance mode aanzet dan moet je een 503 pagina te zien krijgen, en deze wil ik vervangen door een placeholder voor alle IPs behalve die van mij.

Ik heb dus wel gewoon toegang tot de site doordat mijn IP allowed is, maar ja bezoekers moeten wel de placeholder te zien krijgen en niet een melding dat de site in maintenance mode staat.
Dan zul je de errors/503.php template aan moeten passen, want dat is de 'placeholder.' Zolang je Magento in development mode hebt staan, zul je volgens mij wel altijd die 'foutmelding' te zien krijg op die pagina dus ik zou je aanraden om gewoon een ontwikkelomgeving te gebruiken.