Artikelgids
oplos phpMyAdmin Die webwerfbediener het nie die lêer gestoor nie /home/abc/cwl_cwl.sql Toestemmingskwessie
Het jy al ooit so 'n situasie teëgekom? wanneer jy gebruik phpMyAdmin Toe ek die databasis uitvoer, het ek gevind dat dit nie die lêer in die gespesifiseerde gids kon stoor nie. Is dit nie besonder gek nie?
Hierdie probleem is eintlik baie algemeen, want gewoonlik het die bediener nie skryftoestemming vir daardie pad nie.
So, laat ons nou hierdie probleem eens en vir altyd oplos en jou webwerf glad laat verloop.
Waarom het die phpMyAdmin-webwerfbediener nie toestemming om .sql-lêers te stoor nie?
Eerstens moet ons 'n basiese konsep verstaan: Elke webwerfbediener het 'n paar toegangstoestemminginstellings, wat beheer watter gebruikers of dienste sekere bewerkings kan lees, skryf of uitvoer.
As jou bediener (soos Apache of Nginx) nie toestemming het om na 'n sekere gids te skryf nie, sal dit natuurlik nie die lêer kan stoor nie. dis hoekom phpMyAdmin Dit vra jou "Jy het nie toestemming om die lêer te stoor nie."
Om dit eenvoudig te stel,phpMyAdmin Wil databasis rugsteun stoor na /home/abc/cwl_cwl.sql Hierdie pad, maar omdat die bediener nie toestemming het nie, kan dit glad nie hierdie vouer skuif nie.
So, wat presies is die probleem? Toestemmings! Toestemmings! Toestemmings!
Oplossing: Herstel die paar /home/abc/ Gidstoestemmings
Aangesien die probleem in toestemmings lê, kom ons begin deur toestemmings te wysig.
Deur die bediener toe te laat om toegang tot die gids te verkry en na die gids te skryf, word dit moontlik gemaak phpMyAdmin Doen sy werk glad.

1. Verander gidstoestemmings
Dit is die mees direkte manier. jy moet wysig /home/abc/ Toestemmings op die gids sodat die bediener (soos Apache of Nginx) daarna kan skryf. Gestel jou bediener is Apache en loop aan www-data Gebruiker (dit is die verstekgebruiker van Apache, natuurlik kan jy die gebruiker en groep aanpas volgens jou werklike konfigurasie).
stap:
sudo chown www-data:www-data /home/abc/ -R
sudo chmod 755 /home/abc/ -R
verduidelik:
chown www-data:www-data /home/abc/ -R: Hierdie opdrag sal/home/abc/Die eienaar van die gids en sy subgidse word verander nawww-dataGebruikers en groepe.chmod 755 /home/abc/ -R: Hierdie opdrag sal die gidseienaar lees-, skryf- en uitvoertoestemmings gee, terwyl die groep en ander gebruikers slegs lees- en uitvoertoestemmings het.
hier,755 Dit is 'n baie klassieke toestemminginstelling wat kan verseker dat die webwerfbediener voldoende toestemmings het om lêers te bedryf, terwyl dit nie te veel toestemmings aan ander gebruikers gee om stelselsekuriteit te beskerm nie.
2. Gebruik /tmp/ Gids (nog 'n oplossing wat nie die wortelgids verlaat nie)
As jy belangstel om te wysig /home/abc/ As jy nie seker is oor die gidstoestemmings nie, of as jy die oorspronklike gidsstruktuur wil behou, is daar 'n ander slim manier.
jy kan laat phpMyAdmin Stoor lêer na /tmp/ Gids, hierdie gids het gewoonlik skryftoestemmings oop vir alle gebruikers.
Wanneer u die databasis uitvoer, kies direk /tmp/ As die stoorpad is die opdrag soos volg:
/tmp/cwl_cwl.sql
As u dit doen, word toestemmingskwessies vermy. Die lêer sal gestoor word na /tmp/ gids, en dan kan jy dit handmatig skuif na die gids wat jy wil hê, wat jou die moeite spaar om toestemmings te wysig.
3. Kontroleer phpMyAdmin konfigurasie
As jy die bogenoemde metodes probeer het en dit werk steeds nie, kan die probleem wees phpMyAdmin Op sy eie konfigurasie. In sommige gevalle,phpMyAdmin Dit kan gekonfigureer word om slegs lêers toe te laat om in spesifieke gidse gestoor te word, hierdie beperking kan in die konfigurasielêer gevind word.
stap:
Jy moet sien of wysig phpMyAdmin Konfigurasielêer, die pad is gewoonlik:
/etc/phpmyadmin/
of:
/usr/share/phpmyadmin/
U kan kyk of soortgelyke padbeperkings bestaan en dit dienooreenkomstig verander. As jy nie seker is hoe om die konfigurasielêer te verander nie, word dit aanbeveel om eers die oorspronklike lêer te rugsteun sodat jy dit maklik kan herstel as iets verkeerd loop.
Hoekom werk hierdie metodes?
Trouens, maak nie saak watter soort oplossing dit is nie, die kern draai om die toestemmingskwessie. Webbedieners, veral bedieners soos Apache of Nginx, word streng deur die bedryfstelsel bestuur wanneer toegang tot stelselgidse verkry word. Ons kan hierdie beperkings maklik omseil deur toestemmings aan te pas of die stoorpad te verander.
Die wysiging van gidstoestemmings kan fundamenteel die probleem oplos dat die bediener nie kan skryf nie, maar soms om sekuriteitsredes wil jy dalk nie die toestemmings van kernvouers wysig nie. Op hierdie tydstip /tmp/ Gidse is 'n goeie alternatief, buigsaam en eenvoudig.
En finale kontrole phpMyAdmin Die konfigurasie is om 'n paar meer subtiele stelsel-vlak probleme uit te skakel. Die probleem is immers soms nie ons gesag nie;软件eie konfigurasiebeperkings.
my mening
Wat die kwessie van toestemmings betref, is dit eintlik 'n onvermydelike kompleksiteit in die samewerkende werk van die bedryfstelsel en die webwerfbediener. Jy kan daaraan dink as 'n streng wagstelsel. Elke gebruiker en program moet hul ID wys en toestemming kry as hulle wil ingaan en dinge doen. En wanneer hierdie “toestemming” onvoldoende is, ontstaan probleme.
Op 'n hoër vlak lyk die toestemmingskwessie eenvoudig, maar dit is eintlik 'n belangrike deel om die veiligheid en stabiliteit van die hele stelsel te verseker. Die instelling van toestemmings wat te hoog of te laag is, kan probleme veroorsaak. As dit te laag is, sal dit die normale werking van die program beïnvloed.
Daarom, los op phpMyAdmin Wanneer dit by toestemmingskwessies kom, "behandel ons nie net die simptome nie", maar ook "behandel die hoofoorsaak" - jy moet verseker dat die bedienerkonfigurasie veilig en doeltreffend is.
Opsomming en aksievoorstelle
Om op te som, wanneer phpMyAdmin As jy probleme ondervind met die stoor van lêers, het jy verskeie oplossings om van te kies:
- Verander gidstoestemmings: Dit is die mees direkte manier om die bediener toestemming te gee om na die gids te skryf en die fundamentele probleem op te los.
- 使用
/tmp/INHOUDSOPGAWE: As jy nie die gidstoestemmings wil wysig nie, kan jy die lêer tydelik stoor na/tmp/, en beweeg dan met die hand. - 'n eksamen
phpMyAdminKonfigurasie: As daar geen probleem met die toestemminginstellings is nie, kan dit weesphpMyAdminProbleme wat deur jou eie konfigurasie veroorsaak word, gaan die konfigurasielêer na om hierdie moontlikheid uit te skakel.
Elke oplossing het sy toepaslike scenario's. My voorstel is om eers te probeer om die gidstoestemmings te verander. Dit is die mees direkte en effektiewe manier. As jy om sekuriteitsredes nie toestemmings wil wysig nie, kan jy kies om te gebruik /tmp/ Inhoudsopgawe. Ten slotte, as die probleem steeds nie opgelos is nie, gaan na phpMyAdmin konfigurasie lêer.
Toestemmingskwessies sal nie verdwyn nie, maar die oplossings is uiteenlopend. Nou kan jy die mees geskikte oplossing kies volgens jou situasie en nou aksie neem!
Hoop Chen Weiliang Blog ( https://www.chenweiliang.com/ ) gedeel "Om die probleem op te los dat die phpMyAdmin-webwerfbediener nie toestemming het om .sql-lêers te stoor nie" sal vir jou nuttig wees.
Welkom om die skakel van hierdie artikel te deel:https://www.chenweiliang.com/cwl-32115.html
