Kā atrast un pārvarēt BOM - nepatīkama kļūda WordPress. Kļūdas labošana: nevar mainīt galvenes informāciju — galvenes jau ir nosūtījis konkrētas problēmas apraksts

Šodien mēs nolēmām runāt par to, ko nozīmē vēstījums "Brīdinājums: nevar mainīt galvenes informāciju — galvenes jau ir nosūtījis (izvade sākta vietnē /home/...", kas tiek rādīta vietnes lapā tās galvenā satura vietā.
Kā izrādījās, internetā par šo tēmu ir rakstīts pietiekami daudz, taču nav vispārinātas pamācības, ko tas viss nozīmē un kā no tā atbrīvoties.
Mēs nolēmām pievienot dažus pilienus milzīgajai informācijas jūrai par šo tēmu, jo mēs personīgi saskārāmies ar šo problēmu.

Pirms kāda laika mēs pārcēlām vairākas klientu vietnes no viena hostinga uz citu.
Viss noritēja labi, vietnes bija pieejamas, bet, kad mēģināju ielogoties adminā. panelis, pēc pieteikšanās un paroles ievadīšanas vadības paneļa vietā parādījās balta lapa.
Mēs pārbaudījām citās vietnēs - tas pats.
Lai noskaidrotu iespējamie iemesli, esam iespējojuši kļūdu rādīšanu.
Lai to izdarītu, jums ir jārediģē .htaccess fails, kas atrodas vietnes saknē, izmantojot FTP, pievienojot tam rindiņu:

Php_flag display_errors ieslēgts

Pēc tam, ieejot admin panelī, parādījās vairāki ziņojumi, piemēram, "Brīdinājums: nevar modificēt galvenes informāciju - galvenes jau nosūtīja (izvade sākās /home/.../functions.php:1552) mapē /home/.../ public_html /wp-login.php 362. rindā” utt.

Meklēšanas rezultātā tika atrasta informācija, ka šis ziņojums informē, ka galvenes informāciju nevar mainīt, jo galvenes (informācija par tām) jau bija nosūtītas iepriekš un tad iekavās tika norādīts, kurās rindās kādos failos tas tika darīts .


Virsraksti (Virsraksti) ir tā servera pakalpojuma informācija, kurā vietne atrodas. Pirms pārlūkprogramma parāda vietnes saturu, tā saņem no servera galvenes, kas norāda dažādus datus: vai ir iespējota lapas kešatmiņa, tās kodējums, lapas satura veids un citi. Vietņu satura pārvaldības sistēmās galvenes ģenerē funkcijas, kas atrodas dažādi faili sistēmas.
Nepieciešamais nosacījums- galvenes jānosūta pirms lapas galvenā satura (satura).


Ja vietnes saturs tiek pārraidīts pirms galvenēm, tad rodas situācija, par kuru mūs brīdina ziņojums “Brīdinājums: Nevar mainīt galvenes informāciju - galvenes jau ir nosūtījis...”.

Kādās situācijās tas var notikt? Kā jau minēts, mūsdienu CMS galvenes ir vienas vai vairāku funkciju rezultāts. Pati funkcija ir noteikts koda fragments, kas ievietots starp iniciāliem un galīgs ?> tagus.

Viss, kas atrodas ārpus šiem tagiem, tiek uzskatīts par lapas saturu.
Tādējādi, ja lapas sākumā ir funkcijas, kuru rezultātā tiek nosūtītas galvenes, un mēs saņemam ziņojumu “Brīdinājums: Nevar mainīt galvenes informāciju...”, tad izrādās, ka daļa informācijas, kas saistīta ar lapas saturu lapa tiek nosūtīta no servera pirms galvenēm.

Kas ir šī informācija un kā to atrast. Visbiežāk tās ir atstarpes un tukšas rindas.

Kosmoss vai tukša virkne tiek interpretētas kā rakstzīmes lapas galvenajā saturā, tāpēc izrādās, ka daļa no galvenā satura ir pirms galvenēm un vispirms tiek nosūtīta pārlūkprogrammai.

Jums ir jālejupielādē faili, kas norādīti ziņojumos “Brīdinājums: nevar mainīt galvenes informāciju...”. lokālais dators, atveriet to koda redaktorā (es izmantoju NotePad++) un rūpīgi pārbaudiet, vai nav tukšu rindu un atstarpju:

Tomēr ir viena svarīga iezīme, kas var ievērojami palielināt laiku, kas nepieciešams risinājuma atrašanai.
Failā nedrīkst būt tukšas rindas vai atstarpes, bet, ja tas ir saglabāts UTF-8 kodējumā, redaktors, kurā fails tika izveidots, var ievietot svešu rakstzīmi pašā dokumenta sākumā. Šī rakstzīme ir UTF-8 identifikators, kas vienāds ar nulles platuma atstarpi, kas redaktorā var netikt parādīts vispār, bet serverī tas tiks uztverts kā galvenais saturs un parādīts pirms virsrakstiem.

Lai atbrīvotos no šī identifikatora, lejupielādētie faili ir atkārtoti jāsaglabā šādā formātā UTF-8 bez BOM(UTF-8 bez BOM).

NotePad++ lieliski tiek galā ar šo uzdevumu.

Pēc šīm darbībām un failu atjaunināšanas serverī ziņojumam vajadzētu pazust un vietne darbosies kā parasti.

Šajā rakstā apskatīsim galvenos kļūdas “Galvenes nav iespējams mainīt, jo tās jau ir nosūtītas” cēloņus un risinājumus. ("Nevar mainīt galvenes informāciju — galvenes jau ir nosūtījis").

Ko šī kļūda nozīmē?

Lai saprastu kļūdas iemeslus, vispirms ir jāsaprot, kas ir šīs “galvenes”.

Neiedziļināsimies teorijā. Pieņemsim, ka pirms jebkura lietotāja tīmekļa lapas atvēršanas viņam tiek nosūtītas tās pašas “galvenes”, kurās ir kodējums, vietnes valoda, servera dati utt. oficiālā informācija. Ir arī vērts atsevišķi piebilst, ka sīkfaili un sesija tiek nosūtīti arī galvenēs.

Kādas komandas izraisa šo kļūdu?

Kļūda "Nevar mainīt galvenes informāciju — galvenes jau ir nosūtījis" var izsaukt PHP komandas, piemēram, header , setcookie un citas, kas saistītas ar sīkfailu darbību vai sesijām.

Kļūdas iemesli un risinājumi.

Visvairāk izplatīta kļūda notiek pieredzes trūkuma dēļ. Mēs jau esam sapratuši, ka galvenes tiek nosūtītas pirms pašas lapas ielādes.

Bet programmētāji, īpaši iesācēji, to vienkārši aizmirst vai pat nezina. Un vispirms viņi mēģina kaut ko parādīt lapā - visbiežāk izmantojot echo komandu, un pēc tam viņi iestata sīkfailus, sūta galvenes utt. Kas tieši noved pie šīs kļūdas.

Šeit ir koda piemērs, kas varētu izraisīt šo kļūdu:

Šeit ir pareizā opcija:

Tas ir, pirmkārt, jūs nevarat parādīt neko pirms galveņu nosūtīšanas!

Tas ne vienmēr ir acīmredzams, taču ir kļūda ar nelielu atšķirību. Šajā gadījumā jūsu PHP dokuments sākas ar atstarpēm vai tukšām rindām, kas nozīmē, ka šīs rindas tiek parādītas pārlūkprogrammā.

To var būt ļoti grūti uzraudzīt, jo, piemēram, Windows notepad sākumā var pievienot baitu secības atzīmi, mūs nekādā veidā nebrīdinot un pat neparādot šo simbolu. Šajā gadījumā jums vajadzētu atvērt dokumentu, izmantojot citus redaktorus, un pārbaudīt.

Šeit ir nepareizas galvenes iestatīšanas piemērs:

Tas ir, otrkārt, iepriekš

Jums jābūt īpaši uzmanīgam, ja izmantojat komandu include, būtībā tā apvieno visus failus un izveido vienu, kā arī, ja vispirms iekļāvāt vietnes galveni (slīdni, izvēlni utt.) un pēc tam mēģināt nosūtīt galvenes galvenajā failā. , tad jūs Protams, jūs saņemsit šo kļūdu.

Šeit ir šāda nepareiza koda piemērs:

Iesniedza Ce, 05/04/2017 - 12:55

Konkrētas problēmas apraksts

Pēc pogas noklikšķināšanas parādās kļūda:

Brīdinājums: nevar mainīt galvenes informāciju — galvenes jau ir nosūtījis (izvade sākta C:\OpenServer\domains\testsite\WEB\5_phpRedirect.php:10) mapē C:\OpenServer\domains\testsite\WEB\5_phpRedirect.php 12. rindā.

Kods ir līdzīgs šajā tēmā norādītajam:

Eksperimentālais tīmeklis

Atlasiet lejupielādējamo skriptu

Apdarinātāja skripts:

Kad tas notiek

Kļūdas (brīdinājuma) veids:

Brīdinājums: nevar mainīt galvenes informāciju — galvenes jau ir nosūtījis

Tas notiek, ja esat jau izdarījis kaut ko, kam nepieciešams iestatīt pārlūkprogrammas galvenes, un tagad vēlaties tās pārrakstīt ar jaunām. Piemēram, ja esat jau parādījis tekstu, php iestata galvenes (jo īpaši galveni Atrašanās vieta-- kas parāda, vai palikt pieprasītajā lapā, vai arī jāiet uz citu lapu un jāsaņem tur atbilde uz pieprasījumu), lai klienta pārlūkprogrammai (tā atbildē) parādītu, kā uzvesties.

Problēmas sakne

Visticamāk, jūsu gadījumā problēma ir tā, ka jūs jau rādāt saturu (html tagus, kas failā ir sajaukti ar skriptu) uz komandas:

Echo header($redirect);

Atcerieties, ka header() funkciju var izsaukt tikai tad, ja klients dati vēl nav pārsūtīti. Tas nozīmē, ka izvadā tam jābūt pirmajā vietā, pirms tā izsaukšanas nedrīkst būt HTML tagi, tukšas rindas utt. Diezgan bieži kļūda rodas, ja, lasot kodu ar faila funkcijām, piemēram, iekļaut vai pieprasīt, šajā kodā ir atstarpes vai tukšas rindas, kas tiek izdrukātas pirms header() izsaukšanas. Tādas pašas problēmas var rasties, izmantojot vienu PHP/HTML failu.

Tas ir, ir jāatbrīvo skriptu apstrādātājs no html - galu galā tas būtībā neko neizvada pats, bet vienkārši pārsūta to uz citu adresi - šis ir pirmais.

Header($redirect);

Echo header($redirect);

Eksperimentējiet

Tā kā echo() parasti raksta uz http atbildes pamatteksts, nevis galvenēs, un galvene atgriež void (tas ir, neatgriež vērtības), kā minēts iepriekš, tad nav jēgas izmantot echo(), bet
- tomēr es ierosinu veikt eksperimentu:

  1. noņemt html
  2. nenoņem atbalsi

Tā kā header() būtībā tiek izsaukts pirms echo() (jo header() ir arguments echo()) un tāpēc atgriež - tajā pašā laikā mēs pārbaudīsim, vai funkcija atgriež nulli - vai tā tiks interpretēta kā tukša virkne vai (kas vai drīzāk) echo pat nesāks darboties, kad pāradresācija jau ir notikusi.

Noskaidrosim vēlreiz iemeslu

Tie. pirms header() izsaukšanas nedrīkst rādīt saturu(par ko rakstīts funkcijas aprakstā: http://php.net/manual/ru/function.header...)

  • 1) ne ar atbalsi
  • 2) nevis vienkārši ieliekot pārlūkprogrammā html tekstu.

Mūsu gadījumā acīmredzot atbalss neko neietekmē, bet html apstrādātājā patiešām ietekmē.

jautājums ir atrisināts

Pēc jūsu ieteikuma tie tika noņemti HTML tagi. Tagad novirzīšana notiek pareizi, apstrādātāja skripts izskatās šādi:

Atbalss funkcija īsti neietekmē darbību, t.i. Varat arī atstāt to kā S. Holcnerā:

Tāpat, rakstot kodu novirzīšanai, jums jāpievērš uzmanība faila paplašinājumam, uz kuru tiek veikta pāreja: ar piedāvāto sintaksi tas ir jānorāda galvenes argumentā.

  • Piesakieties, lai pievienotu komentārus

Bet jūs varat likt tam darboties

Bet jūs varat arī likt strādāt iepriekšējam apstrādātājam

Lietotāja novirzīšana

ja iestatāt opciju failā php.ini

Izvades_buferizācija = 4096

  • Piesakieties, lai pievienotu komentārus

Virsrakstu atkārtota sūtīšana ir aizliegta, HTTP protokols tā nedarbojas! Bet kas mums jādara? Ja pēc parādīšanas lapā ir jāsāk arī sesija un jāiestata sīkfails? - Atcerēsimies par izvades buferizāciju.

Tas ir, ja ir iestatīts bufera lielums, kas nav nulle, tad, līdz tas ir pilns, joprojām ir iespējams manipulēt ar galvenēm. Ja bufera lielums ir nulle, pēc satura izvadīšanas tas tiek nekavējoties atgriezts pirms tam HTTP atbilžu galveņu nodošana klientam.

Un izrādās, ka mēs vēlamies klientam mainīt galvenes, kas jau ir “izlidojušas” tīklā (tas nozīmē, ka tās vairs nav iespējams labot - jo īpaši galveni Atrašanās vieta, kas norāda, vai palikt pieprasītajā lapā vai pieprasīt citu - "redirector" skripta atbilde (mums tas ir veidlapu apstrādātājs) vienkārši saka, ka mums ir jāpieprasa cita lapa), par ko php mūs brīdina. .

Bet: Protams, šādā veidā (precīzāk ne pārāk pareizi) problēmu atrisināt nav iespējams.

_____________
VSU matemātikas fakultāte un citi klasiķi =)

  • Piesakieties, lai pievienotu komentārus

Izpratne par HTTP galvenēm un HTTP galvenes laukiem

HTTP galvenes sniedz svarīgu informāciju, kas nepieciešama HTTP darījuma sūtīšanai, izmantojot http protokols.

Vispārējais HTTP galvenes formāts galvenes laukā satur ar kolu atdalītu nosaukumu un vērtību pārus. Katrs nosaukuma-vērtības pāris beidzas ar karieta atgriešanos (CR) un rindas padeves (LF) rakstzīmju secību. Tukši lauki katras galvenes beigās norāda galvenes beigas.

Kopējais galvenes formāts, kam seko lietojumprogrammas, izskatās šādi:

HTTP galveņu veidi

Ir četru veidu HTTP ziņojumu galvenes. Tie ir:

  • Vispārējā virsraksts
  • Pieprasījuma galvene
  • Atbildes galvene
  • Entītijas galvene

Vispārējā virsraksts

Vispārīgie galvenes lauki ir kopīgi lietojami pieprasījuma un atbildes ziņojumos. Galvenes lauki attiecas tikai uz pārsūtīto ziņojumu un neattiecas uz pārsūtīto entītiju.

Vispārējās galvenes struktūra izskatās šādi:

Kešatmiņas kontrole laukā ir norādītas direktīvas, kas jāievēro katram pieprasījuma un atbildes sistēmas kešatmiņas mehānismam.

Savienojums lauks ļauj sūtītājam norādīt savienojumam nepieciešamās opcijas. Savienojuma galvenei ir šāds formāts:

Datums lauks apzīmē datumu un laiku ziņojuma iniciēšanas laikā. HTTP norādītais datuma formāts izskatās šādi:

Pragma lauks palīdz iekļaut īstenošanas īpašo direktīvu, kas piemērojama jebkuram pieprasījuma un atbildes sistēmas saņēmējam.

Treileris lauka vērtība norāda, vai ziņojuma reklāmkadru galvenes lauku kopa ir kodēta ar gabala pārsūtīšanas kodēšanu.

Pārsūtīšanas kodēšana lauks norāda, vai ziņojuma pamattekstam tiek piemērota kāda veida transformācija.

Jaunināt lauks ļauj klientiem norādīt atbalstītos papildu sakaru protokolus. Tas arī ļauj serverim pārslēgt protokolus ar papildu protokoliem.

Via lauks ir obligāti lauki, ko izmanto starpniekserveri un vārtejas, kas norāda starpprotokolus. Tas arī norāda pieprasījuma adresātu starp lietotāja aģentu un serveri un atbildi starp serveri un klientu.

Brīdinājums lauks satur papildu informāciju par ziņojuma statusu un ziņojuma transformācijām, kas ziņojumā nav atspoguļotas.

Brīdinājumu galvenes parasti tiek nosūtītas kopā ar atbildēm.

Pieprasījuma galvenes lauks ļauj klientiem papildus nosūtīt pieprasījuma informāciju un klienta informāciju serverim.

Pieprasījuma galvenes struktūra izskatās šādi:

Pieņemt lauks norāda multivides veidus, kas ir pieņemami atbildei.

"*" tiek izmantots, lai grupētu multivides veidus diapazonā

“*/*” norāda visus multivides veidus

"tips/*" norāda visus tipa apakštipus

Pieņemt-Charset lauks norāda pieņemamās rakstzīmju kopas. Tas ļauj klientiem saprast īpašas nozīmes rakstzīmju kopas, lai signalizētu serverim, lai tas attēlotu dokumentu šajās rakstzīmju kopās.

Pieņemt-kodējums lauks ir līdzīgs Pieņemt, ierobežo atbildes pieņemama satura kodēšanu.

Pieņemt-valoda lauks ir līdzīgs Pieņemt, ierobežo vēlamo dabisko valodu kopu.

Autorizācija lauks ir paredzēts lietotāju aģentiem, kuri vēlas autentificēt sevi serverī.

Gaidīt lauks norāda klientam nepieciešamo servera uzvedību.

No laukā ir tā lietotāja e-pasta adrese, kurš kontrolē pieprasījuma iesniedzēju lietotāja aģentu.

Uzņēmēja lauks norāda interneta resursdatora un pieprasītā resursa porta numuru no lietotāja URI.

Ja-Match lauks tiek izmantots, lai izveidotu nosacītas metodes.

Ja-Modificēts-Kopš lauks tiek izmantots, lai izveidotu nosacītu metodi. Ja pieprasītais variants netiek mainīts norādītajā laikā, entītija netiks atgriezta no servera.

Ja-nav-atbilst lauks ļauj efektīvi atjaunināt kešatmiņas informāciju ar minimālām transakcijas izmaksām.

Ja-diapazons lauks ļauj klientiem saņemt daļu no trūkstošās entītijas vai citādi, klienti var lūgt nosūtīt visu jauno entītiju.

Ja-Nepārveidots-Kopš lauks ļauj serverim veikt pieprasīto darbību, ja tā nav mainīta kopš šajā laukā norādītā laika.

Makss Forvards lauks nodrošina mehānismus ar TRACE un OPTIONS metodēm, lai ierobežotu pieprasījumu pārsūtīšanas starpniekserverus vai vārtejas.

Starpniekservera autorizācija lauks ļauj klientam identificēt, lai aizsargātu starpniekserveri.

Diapazons lauks norāda HTTP entītijas HTTP ziņojumos, kas attēlotas kā baitu secība. HTTP izguves pieprasījums pieprasa vienu vai vairākus entītiju apakšdiapazonu, izmantojot GET metodes.

Referents lauks ļauj klientiem norādīt tā resursa adreses URI, no kura tiek atrasts Request-URI.

T.E. lauks norāda paplašinājuma pārsūtīšanas kodēšanu, ko tas var pieņemt atbildē. Turklāt tas norāda, vai tas pieņems piekabes laukus gabala pārsūtīšanas kodēšanā.

Lietotāja aģents laukā ir informācija par pieprasītāju lietotāja aģentu.

HTTP atbildes galvene

Atbildes galvenes lauks ļauj serverim nosūtīt papildu informāciju, izmantojot atbildes, kas nav vienkārša statusa rindas atbilde.

Atbildes galvenes struktūra izskatās šādi:

Pieņemt-diapazoni lauks ļauj serveriem norādīt resursu diapazona pieprasījumu pieņemšanu.

Vecums lauks norāda sūtītāja aptuveno laiku, kopš serveris atbildēja.

Etag lauks nodrošina pieprasījuma entītijas taga pašreizējo vērtību.

Atrašanās vieta lauks novirza adresātus uz citām vietām, nevis Request-URI, lai pabeigtu jauna resursa identificēšanu.

Starpniekservera autentifikācija lauks ir obligāti jāiekļauj starpniekservera autentifikācijas atbildē.

Atkārtoti — pēc lauks tiek izmantots kā atbilde, ja pakalpojums nav pieejams, lai norādītu perioda ilgumu, kurā pakalpojums klientam nebūs pieejams.

Serveris laukā ir informācija par programmatūru, ko serveris izmanto pieprasījumu apstrādei.

Variēt lauks norāda pieprasījuma lauku, kas nosaka, vai kešatmiņa ir piemērota pieprasījuma atbildes izmantošanai bez atbildes atkārtotas apstiprināšanas.

WWW-Autentifikācija lauki tiek izmantoti, ja atbildes ziņojums ir nesankcionēts.

Entītijas galvenes lauki definē metainformāciju par entītijas pamattekstu vai pieprasīto resursu. Entītijas galvenes formāts izskatās šādi:

Atļaut laukā ir saraksts ar Request-URI identificēto resursu atbalstīto metožu kopu.

Satura kodēšana lauks tiek izmantots kā multivides tipa modifikators.

Saturs-Valoda lauks apraksta dabisko valodu entītijas klientiem.

Saturs-Length lauks norāda entītijas lielumu, kas attēlots decimālskaitlī.

Saturs-Atrašanās vieta lauks nodrošina entītijas resursa atrašanās vietu, ja tai var piekļūt no vietas, kas nav pieprasītais URI.

Saturs-MD5 lauks nodrošina ziņojuma integritātes pārbaudi (MIC), izmantojot MD5 īssavilkumu entītijas pamattekstā.

Satura diapazons lauks norāda, kur jāpiemēro pilnas entītijas pamatteksta daļa.

Satura veids lauks norāda, vai adresātam tiek nosūtīts entītijas pamatteksta multivides veids vai pieprasījumu nosūtīšanai tiek izmantota GET metode.

Beidzas lauks norāda datumu/laiku, pēc kura atbilde kļūst novecojusi.

Pēdējās izmaiņas lauks norāda varianta pēdējās modifikācijas datumu un laiku.

Secība, kādā lauka nosaukums parādās galvenē pēc saņemšanas, ir nenozīmīga. Parasti vispārīgās galvenes tiek ievietotas vispirms, pēc tam pieprasījuma vai atbildes galvene ar entītijas galveni beigās.

Paziņojums par autortiesībām: lūdzu, nekopējiet un netulkojiet šo rakstu bez iepriekšējas rakstiskas atļaujas no vietnes

HTTP atkļūdotājs ir HTTP analizators bez starpniekservera izstrādātājiem, kas nodrošina iespēju tvert un analizēt HTTP galvenes, sīkfailus, POST parametrus, HTTP saturu un CORS galvenes no jebkuras pārlūkprogrammas vai darbvirsmas lietojumprogrammas.

Lielisks interfeiss un ļoti viegli lietojams. Nav starpniekserveris, nav tīkla problēmu!

Kādu dienu, ieejot savā emuārā, es biju pārsteigts, atklājot nesaprotamu kļūdu, piemēram:

Brīdinājums: nevar mainīt galvenes informāciju — galvenes jau ir nosūtījis (izvade sākās vietnē /xxxxxxxx/wp-config.php:1)

Turklāt nav iespējas iekļūt administratora panelī. Es uzreiz devos pārbaudīt, kas ir nepareizi ar wp-config.php failu. Viss bija savās vietās, datu bāzes paroles bija pareizas. Es domāju, ka tas atkal ir uzlauzts)) Bet atkal FTP netika pamanītas nekādas vandālisma pazīmes. Dīvainākais (tas mani galu galā pilnībā mulsināja) bija tas, ka nedarbojās tikai saite uz vietni bez www, vai otrādi (es precīzi neatceros). Sāku sazināties ar hosteri, skatījos iestatījumus domēna admin panelī - vispār daudz kas. Bet tas izrādījās daudz vienkāršāk - konfigurācijas faila sākumā bija noteikta BOM

Dažos teksta redaktoros iestatījumos varat atrast izvēles rūtiņas "Iekļaut unikoda parakstu (BOM)", "Pievienot baitu secības atzīmi" vai līdzīgas izvēles rūtiņas. Pretējā gadījumā, nevarot atspējot nevajadzīgu opciju konkrētā programmā, to nav ieteicams izmantot. Specializētajos forumos varat atrast labu sarakstu teksta redaktori, Šis - Notepad2, PSPad, UnicEdit, Notepad++. Kopumā par pēdējo ir daudz rakstīts, tas ir diezgan spēcīgs instruments. Kaut kā nejauši man tas bija noliktavā datorā. alternatīvais redaktorsAkelpad— Es to izmantoju līdzīgiem uzdevumiem.

Vēl viens punkts, ko vērts atzīmēt, ir tas, ka kļūda ar MK var rasties ne tikai failā wp-config.php. Turklāt, ja brīdinājumu parādīšanas iespēja ir atspējota, jūs vispār neredzēsit, kur problēma ir iezagusies. Šādos gadījumos (un visos citos) es ieteiktu izmantot vienkāršu skripts failu meklēšanai ar MK. Par attīstību jāpateicas Jurijam Belotickim.

Skripta izmantošana ir ļoti vienkārša.

  1. nepieciešamais fails
  2. Jūs to uzlej FTP serveris uz saknes direktoriju. Ja WordPress nav instalēts vietnes saknē (bet, piemēram, emuāra mapē), tad skripts ir jāievieto direktorijā, kurā atrodas WordPress, un jāpalaiž no turienes.
  3. Palaišana ir ļoti vienkārša - vienkārši ierakstiet adreses josla pārlūkprogrammas saite http://your.site/find_bom.php

Rezultātā jūs iegūsit bojāto failu sarakstu. Starp citu, lai paātrinātu darbu, skripts pārbauda tikai tos direktorijus, kuros lietotāji parasti augšupielādē failus – root, /wp-content/themes un /wp-content/plugins.

Tas būtībā arī viss. Cik grūti bija atrisināt tik vienkāršu problēmu. Ceru, ka nedaudz palīdzēju ar savu pieredzi, un tagad, kad parādīsies attiecīgais brīdinājums, jūs zināsiet, kā rīkoties :) Ja nevarat salabot vienu vai otru failu no MK, varat vienkārši augšupielādēt jaunu no WordPress izplatīšanas .

P.S. Piemērota vietne jaunlaulātajiem ir banketu organizēšana un visu ar kāzām saistīto jautājumu risināšana.