Eli keksikääpä mistä johtuu:
Minulla on php tiedosto: viewWork.php, jossa on koodi:
... echo 'testi1'; echo 'testi2'; echo 'testi3'; echo 'testi4'; //echo 'testi5'; echo 'testi6'; echo 'testi7'; echo 'testi8'; echo 'testi9'; ...
koodi tulostaa:
testi1
testi2
testi3
testi4
- Tiedosto on talletettu muodossa UTF-8 ilman BOM:ia.
- Notepadilla näytä kaikki erikoismerkit, ei löydy mitään poikkeavaa kommentointi kohdassa //echo 'testi5'; eikä muuallakaan.
- Muut samalla tiedostomuodolla toimivat filet toimii palvelimella vaikka kommentointeja löytyy paljon.
- Ongelma esiintyy sekä IE:llä, että Firefoxilla, eli se on palvelin puolen "bugi".
En ole eläissäni törmännyt moiseen...
EDIT: jos jotain kiinnostaa nähdä koko sisältö, tässä
URL: http://portfolio.vallankumous.com/portfolio/index.php?r=site/viewWork&id=2
plus viewWork.php koodi:
<?php $this->pageTitle=Yii::app()->name; ?> <br> <br> <br> <br> <table style="width: 1050px;"> <tr> <td width="245" style="vertical-align: top;"> <?php echo '<h2>TYÖT</h2>'; echo $workModel->name.'<br>'; echo '<br>'; echo'<h2>ASIAKAS</h2>'; echo '<a href="'.Yii::app()->createUrl('site/index', array('term'=>$workModel->client->name)).'">'; echo $workModel->client->name.'<br>'; echo '</a>'; echo '<br>'; echo'<h2>TEKIJÄT</h2>'; echo '<ul style="padding-left: 20px;">'; foreach($workRelations as $i => $relation) { echo '<li>'; echo '<a href="'.Yii::app()->createUrl('site/viewProfile', array('id'=>$relation->idPerson)).'">'; echo $relation->person->firstName." ".$relation->person->surName; echo '</a>'; echo ", ".$relation->duty; echo '</li>'; } echo '</ul>'; echo '<br>'; echo'<h2>TAGIT</h2>'; $separator = ""; foreach($tags as $i => $tag) { echo $separator; echo '<a href="'.Yii::app()->createUrl('site/index', array('term'=>$tag->tagValue->value)).'">'; echo $tag->tagValue->value; echo '</a>'; $separator = ", "; } echo '<br><br>'; echo '<a href="'.Yii::app()->createUrl('site/createWork', array('id'=>$workModel->idWork)).'">'; echo '<span style="text-decoration: underline; color: #99cb00;">Muokkaa työtä</span>'; echo '</a>'; echo '</td>'; echo '<td style="width: 800px;vertical-align: top;">'; $pathDireccion = Yii::app()->storage->uploadedImagesPath; $path; if($workModel->idPhoto !="0" || $workModel->idPhoto != NULL) { $path = Yii::app()->storage->getPath($workModel->idPhoto, "view"); } echo 'testi2'; echo Yii::app()->request->baseUrl.$pathDireccion.$path."jotain"; echo '<img src="'.Yii::app()->request->baseUrl.$pathDireccion.$path.'" />'; echo 'testi1'; echo 'testi2'; echo 'testi3'; echo 'testi4'; //echo 'testi5'; echo 'testi6'; echo 'testi7'; echo 'testi8'; echo 'testi9'; echo 'testi10'; echo 'testi3'; echo '<br><br>'; echo '<p>'.$workModel->description.'</p>'; echo 'jee'; ?> </td> </tr> </table>
Oletko katsonut, tuleeko lokiin jokin virheilmoitus? Laita PHP:n asetuksista taas kerran kaikki ilmoitukset päälle (E_ALL | E_STRICT
). Ei tuosta voi muuta sanoa, laita koko tiedosto (ja kaikki muukin siihen liittyvä) johonkin ladattavaksi.
näkyykö tällä suoraan kaikki virheilmoitukset selaimessa?
<?php error_reporting(E_ALL | E_STRICT); ?>
Ainakin sillain sai jotain virheilmoituksia, jotka korjasin kuitenkaan vaikuttamatta asiaan.
Pahus ku en voi pistää kaikkia tiedostoja, koska tämä verkkosovellus käyttää
Yii frameworkkiä ja ei sitä oikein ota selville missä kaikkialla käydään
ku paikkoja on niin paljon.
PHP:n mahdollista kaatumista et saa selaimeen millään asetuksilla, vaan se pitää tarkistaa palvelimen lokitiedostosta.
Etkö nyt yhtään osaisi muokkailla tuota koodia ja tutkia, missä kohti virhe oikeasti on? Luultavasti voit jäljittää virheen ihan tavallisilla menetelmillä kuten yksittäisten rivien poistolla ja koodin keskeyttämisellä eri kohdissa.
flush(); trigger_error("Tänne päästiin!", E_USER_ERROR);
Aihe on jo aika vanha, joten et voi enää vastata siihen.