PHP на WAMP SERVER - Ошибки в сценарии PHP
У меня есть сервер WAMP на Windows 7.
У меня есть php-код:
<html>
<head>
<script>
var myvar;
<?php include "myotherphp.php" ?> <!-- this put single line, like myvar="error"; or myvar="ok"; -->
</script>
<body>
...
<script>
if (myvar === "error") {
... do something ...
}
</script>
<body>
и код для myotherphp.php сделать некоторые вычисления и сделать что-то вроде...
<?php
...
echo 'myvar="error";
?>
myotherphp.php содержит код из тысячи строк, но... когда я это сделал, как и раньше в IIS, проблем не было, и я не получил никаких исключений, но я автоматически вставил раздражающий код в код:
SCREAM: Error suppression ignored for
Notice: Undefined index: ...
Это нежелательный код. 1. Есть ли какая-либо опция не помещать код (Это более раздражает, и это делает другие ошибки в моем скрипте, потому что из-за этого кода, мой HTML не скомпилирован должным образом. 2. Я хочу поместить здесь весь код (тысяча строк, включая другие php), но мне нужна концепция для правильной компиляции кода.
Я нашел phplint http://www.icosaedro.it/phplint/phplint-on-line.html, но я не знаю, хорошо ли это для apache, а не для phplint не в сети. так как строка как:
required_once __DIR__ . "/mythirdphp.php";
никогда не скомпилируется (из-за некоторых проблем безопасности). Это не похоже на jslint.com (что, на мой взгляд, намного лучше и понятнее. Я поместил тысячи строк в javascript и сумел их полукомпилировать без ошибок или предупреждений о jslint...)
Мне нужно разобраться в этом вопросе lint и любого глючного кода, и любая помощь будет оценена. Нужно пересечь платформу скомпилировано.
Если есть другие инструменты - дайте мне знать.
Спасибо:)
1 ответ
Неопределенные ошибки индекса являются результатом плохого кода PHP, подобного этому (просто пример, а не полный список возможных причин)
$x = $_POST['some_variable']
Но 'some_variable' является необязательным, и в этом случае он не был передан сценарию в массиве POST.
Правильным решением было бы исправить код, проверив, существует ли переменная перед ее использованием.
$x = array_key_exists('some_variable'] ? $_POST['some_variable'] : '';
В качестве альтернативы, если вам нужно исправить тысячи строк кода, вы можете просто отключить создание отчетов об ошибках, добавив
error_reporting(0);
в начало скрипта со всем плохим кодом. Это грязное решение, но может быть единственным вариантом.