Me yasa Adminer.php ba komai? Sake suna yana aiki da kyau? Binciken musabbabin da mafita mai matakai 3.

Jiya da rana, ina saita kayan aikin sarrafa bayanai na Adminer akan sabar. Admin yana da sauƙi kuma mai sauƙin amfani; fayil ɗin PHP guda ɗaya yana yin aikin, ba kamar phpMyAdmin ba wanda ke buƙatar ɗimbin abubuwan dogaro. Na sauke sabon sigar daga gidan yanar gizon hukuma, na ɗora shi zuwa sabar, na saita izini, sannan na buɗe burauzar dina, a shirye nake in duba shi.

Sai komai ya lalace.

Me yasa Adminer.php ba komai? Sake suna yana aiki da kyau? Binciken musabbabin da mafita mai matakai 3.

Na sabunta shafin sau uku, yatsuna suna ciwo saboda danna F5 sau da yawa. Har yanzu babu komai. Na buɗe kayan aikin haɓaka burauzar; ya nuna kuskuren 200 OK, amma jikin amsawar babu komai. Na yi mamaki gaba ɗaya. Me ke faruwa?

Na yi tunani a kai na ɗan lokaci. Shin matsalar izinin fayil ce? Na duba, kuma 755 ne. Shin zai iya zama rashin jituwa da sigar PHP? Na duba, kuma PHP 8.2 ne, wanda hakan yayi kyau. Shin fayil ɗin da kansa yana da matsala? Na sauke sabon kwafi, na sake rubuta shi, kuma har yanzu babu komai a ciki.

Saboda wani dalili mara tushe, na yi tunani, me zai hana in gwada canza sunana?

Na sake sunan adminer.php zuwa adminer1.php sannan na sabunta shafin.

An yi nasarar shiga.

Na yi matukar mamaki. Fayil ɗaya, lambar iri ɗaya, sabar iri ɗaya, kuma ana iya samunsa ta hanyar canza sunan kawai? Wace irin dabara ce wannan?

Matsalar fayil ɗin adminer.php mara komai

Daga baya na fahimci cewa wannan ba wani irin camfi ba ne; PHP caching ne ke haifar da matsalar.

OPcache, wanda aka gajarta da Opcode Cache, wani ƙarin tsari ne na inganta aiki ga PHP. Ka'idarsa mai sauƙi ce: PHP harshe ne da aka fassara, kuma kowace buƙata tana buƙatar a haɗa lambar PHP cikin opcode kafin a aiwatar da ita. OPcache yana adana sakamakon da aka tattara a cikin ƙwaƙwalwa, yana ba da damar buƙatun da suka biyo baya su yi amfani da sigar da aka adana kai tsaye ba tare da sake tattarawa ba, wanda ke haifar da babban ci gaba a aiki.

Amma a nan ne matsalar take.

A da, adminer.php ya nuna "Ba a sami fayil ba" (Na ɗora fayil ɗin da bai dace ba), kuma OPcache ya adana sakamakon da aka tattara na wannan abun da bai dace ba. Daga baya, na maye gurbin adminer.php da lambar da ta dace, amma OPcache ya yi watsi da shi ya ci gaba da karanta tsohon cache daga ƙwaƙwalwar ajiya, wanda ya haifar da shafi mara komai ko tsohon saƙon kuskuren.

Idan ka sake masa suna zuwa adminer1.php, zai zama sabuwar hanyar fayil gaba ɗaya ga OPcache, kuma zai sake lodawa ya warware shi daidai.

Kamar dai kun riga kun sami sabon littafi ne, amma katin lissafin ɗakin karatu har yanzu yana ɗauke da lambar kiran tsohon littafin a kai. Idan ka je nemansa a kan shiryayye, ba shakka, babu komai a ciki. Amma idan ka canza taken littafin, ɗakin karatu zai ƙirƙiri maka sabon katin lissafin, sannan za ka iya samunsa.

Dalili na 1: OPcache cache yana haifar da sarari mara komai

Yaya za a magance shi?

Sake kunna sabis ɗin PHP-FPM kuma share cache ɗin OPcache.

# 查看正在运行的PHP版本
php -v

# 重启对应的PHP-FPM(例如PHP 8.5)
sudo systemctl restart php8.5-fpm

# 或者重启所有PHP-FPM服务
sudo systemctl restart php*-fpm

Bayan sake kunnawa, sake sunan fayil ɗin zuwa adminer.php, sabunta shafin yanar gizon (ana ba da shawarar danna Ctrl+F5 don tilasta sabunta burauzar), kuma ya kamata a magance matsalar.

Amma labarin bai ƙare ba tukuna.

Bayan na sake kunna PHP-FPM, na canza fayil ɗin adminer.php na mayar, na sabunta shafin, amma har yanzu babu komai a ciki. Na rikice gaba ɗaya.

Dalili na 2: Ƙayyadaddun ƙa'idojin daidaitawa na Nginx

Wannan yana haifar da dalili na biyu mai yiwuwa.

Fayil ɗin daidaitawar Nginx na iya samun ƙa'idodi na musamman waɗanda ke iyakance adminer.php.

Na riga na saita Fail2Ban a cikin kwamitin HestiaCP kuma na rubuta ƙa'idar daidaitawa daidai don adminer.php don hana hare-haren brute-force. Ƙa'idar ta haɗa sunan fayil ɗin adminer.php, don haka da zarar ka sake masa suna zuwa adminer1.php, ka ketare wannan ƙa'idar Nginx kuma za ka iya samun damar shiga ta yadda ya kamata.

Hanyar gyara matsala abu ne mai sauƙi: bincika shigarwar da aka yi wa lamba mai ƙarfi a cikin tsarin Nginx.

sudo grep -rn "adminer.php" /etc/nginx/

Idan ka sami dokoki kamar `location = /adminer.php { … }`, yana nufin Nginx yana sarrafa wannan takamaiman sunan fayil ɗin musamman. Kawai share ko gyara shi.

Dalili na 3: Saitunan nuni na kuskuren PHP

Dalili na uku shine mafi zurfi.

An katse rubutun PHP ko kuma ya jefa kuskure, amma shafin yana kashe nunin kuskure (display_errors = A kashe). A cikin yanayin samarwa, PHP yana ɓoye kurakurai ta hanyar tsoho, yana nuna shafi mara komai. Idan fayil ɗin shigarku (misali, index.php) ya faɗi saboda wani dalili yayin ƙoƙarin haɗa "./adminer.php", shafin zai zama fanko kawai.

A wannan yanayin, duba log ɗin kuskure shine hanya mafi inganci:

# 查看Nginx错误日志
sudo tail -n 20 /var/log/nginx/error.log

# 或者查看HestiaCP对应域名的error日志
sudo tail -n 20 /var/log/nginx/domains/adminer.domain.com.error.log

Takardar za ta gaya maka ainihin dalilin da ya sa aka yi farin allon.

Gaskiya ne, a ƙarshe na gano matsalar ta hanyar duba error.log. Sai ya zama cewa adminer.php yana kiran wani ƙarin PHP wanda ba ya nan, kuma display_errors ɗin ba ya nan, don haka shafin ba komai, amma bayanan kuskuren sun rubuta shi a sarari.

Magani da matakan gyara matsala

Wannan lamari ya bar min wani babban ra'ayi.

Matsalolin fasaha galibi ba su da sauƙi kamar yadda suke a saman. Fayil ɗin adminer.php mara komai na iya zama kamar matsalar fayil da farko, amma zurfafa bincike zai iya bayyana matsalar caching, a ƙasan layin zai iya zama matsalar tsari, kuma har yanzu a ƙasan layin zai iya zama matsala tare da lambar da kanta.

Idan ba kai mai shirye-shirye ba ne, za ka iya tunanin waɗannan abubuwan ba su da mahimmanci a gare ka. Amma ka yi tunani a kai: kowace manhaja da kake amfani da ita, kowace shafin yanar gizo da ka ziyarta, tana da irin wannan tsarin da ke gudana a bayan fage. Ajiye bayanai, daidaitawa, da kuma sarrafa kurakurai—waɗannan ra'ayoyin suna ko'ina.

Kamar mu mutane. Sau da yawa, "alamomin" da muke nunawa, kamar jinkiri, damuwa, da kuma fushi, na iya zama kamar kasala a saman jiki, amma zurfafa bincike, suna iya kasancewa saboda manufofi marasa tabbas, ƙarin bincike, tsoron gazawa, har ma da zurfafa tunani, wanda ya samo asali daga abubuwan da suka faru a lokacin yarinta.

Sai ta hanyar gano ainihin tushen matsalar ne za mu iya rubuta maganin da ya dace.

A ƙarshe, idan kun haɗu da matsalar fayil ɗin adminer.php mara komai, duba shi a cikin wannan tsari:

Da farko, sake kunna PHP-FPM kuma share cache ɗin, sannan duba tsarin Nginx, sannan a ƙarshe duba error.log.

A mafi yawan lokuta, matakai biyu na farko sun isa su magance matsalar.

Hakika, idan har yanzu hakan bai yi aiki ba, to a duba error.log.

Zai gaya maka amsar.

Tunda ka karanta wannan labarin, idan ka ga yana da amfani, don Allah ka yi like sannan ka raba shi. Idan kana son samun sabbin bayanai da farko, za ka iya bi na!

Na gode da karanta labarina. Sai mun haɗu a karo na gaba.

comments

您的邮箱地址不会被公开。必填项已用*标注

Gungura zuwa top