La page PHP arrête le chargement à mi-path, en utilisant ODBC, datasource, MSSQL

Nous avons une page qui est principalement statique avec quelques PHP inclus, qui tirent chacun des données de notre database MSSQL.

Il y a un problème très étrange où les pages s'arrêteront au hasard. Le problème est sporadique et pas toujours visible. Parfois, les pages se chargent correctement, parfois elles s'arrêtent avant d'atteindre la fin du file.

La page en question où vous pouvez voir le problème est à Dev: http://author.www.purdue.edu/discoverypark/climate/ Prod: http://www.purdue.edu/discoverypark/climate/index.php

Si vous actualisez la page à plusieurs resockets, vous pourrez peut-être voir le problème. Le problème existe seulement sur les pages qui incluent des appels à notre database, mais encore une fois les pages se chargent complètement normalement la plupart du time; seulement parfois il arrêtera de sortir la page. Il a brisé l'intérieur de html normal aussi bien qu'avant et à l'intérieur des blocs de php.

Le problème semble presque être pire dans l'environnement de production; la seule différence entre les deux serait la connection de la source de données à la database.

Y a-t-il des problèmes connus avec PHP, ODBC et MSSQL? Il est évidemment lié aux appels à la database, qui sont toutes des procédures stockées. Cela pourrait-il être un problème avec la source de données?

Toute consortingbution serait appréciée.

Je vois toujours ceci dans "View Source" quand il meurt:

<div class = "wrap"> <a href="/research/vpr/"> OVPR </a> <img alt = ">" src = ".

J'imagine que la caching de votre image, la génération de l'URL de l'image ou la gestion de l'image est probablement cassée quelque part, et c'est l'abandon par manque d'image.

Le> INSIDE la valeur alt n'est pas non plus kasher. Cela doit être échappé avec http://php.net/htmlentities

Cela peut "fonctionner" mais ne validera pas, et une page qui ne sera pas validée est simplement cassée.

Les différences de connection DB entre, disons, localhost dans DEV et les boîtes séparées dans PROD est probablement en train de changer le timing / la fréquence du problème, mais il est presque sûr que c'est un faux-fuyant …

Bien que si un appel DB pour searchr l'image OVPR fait un die () …

Bien sûr, si vous ne disposez pas de 10 lignes d'erreur lors de chaque appel à odbc_ * ou mssq_ * dans votre code de database, alors vous avez mal fait, et vous devez l'append.

PS Il devrait être sortingvial de passer de ODBC à mssql_ * ou sybase_ * driver, ou à PDO :: * et d'éliminer au less un concurrent possible, si aucun de ceux-ci ne fonctionne. Je répète, cependant, que la DB est à 99% à coup sûr un hareng rouge, et que vous avez fait quelque chose qui sera évident, oserais-je dire bête, une fois que vous l'aurez retrouvé jusqu'à la cause réelle …

Assurez-vous qu'il n'y a pas de dé ou de sortie dans le code n'importe où

Modifier – Si c'est le cas, supprimez-le et affichez l'erreur

Avez-vous vérifié les methods de debugging normales? A quoi ressemble le code – en particulier, la gestion des erreurs autour de vos appels ODBC? Vous n'avez pas de return de haut niveau ou un dé égaré (), n'est-ce pas?

Quand je vois la page dans son état de non-rendu, il semble que ce soit parce que la page est clairement incomplète et c'est XHTML.

Je le vois normalement mourir ici –

 <a href="/research/vpr/">OVPR</a> 

Essayez d'augmenter votre niveau de signalement des erreurs afin que vous puissiez voir les avertissements, les erreurs, les informations qui pourraient être supprimées au niveau du server.

http://php.net/manual/en/function.error-reporting.php

 // Report all PHP errors <?php error_reporting(-1); ?>