Это означает, что ваш код использовал ссылочную переменную объекта, которая была установлена в нуль (т. е. она не ссылалась на экземпляр фактического объекта).
Чтобы предотвратить ошибку, объекты, которые могут быть пустыми, должны быть протестированы для null перед тем, как использовать.
if (myvar != null)
{
// Go ahead and use myvar
myvar.property = ...
}
else
{
// Whoops! myvar is null and cannot be used without first
// assigning it to an instance reference
// Attempting to use myvar here will result in NullReferenceException
}
Создайте файл .htaccess в корне вашего сайта и добавьте эту строку:
[Apache2 @ Ubuntu / Debian: используйте эту директиву]
AddType application/x-httpd-php .html .htm
Или, из комментарий ниже:
AddType application/x-httpd-php5 .html .htm
Если вы используете PHP как CGI (возможно, не так), вы должны написать вместо этого:
AddHandler application/x-httpd-php .html .htm
В My Godaddy Server работает следующий код
Options +ExecCGI
AddType application/x-httpd-php .php .html
AddHandler x-httpd-php5 .php .html
здесь поместите это в свой .htaccess
AddType application/x-httpd-php .php .htm .html
Я думаю, что это лучший способ запустить php-скрипт на html и htm-страницах:
AddType application/x-httpd-php5 .html .htm
Для тех, у кого есть проблемы,
попробуйте это (мой хостинг был из Godaddy , и это единственное, что работало для меня среди всех ответов там.
AddHandler x-httpd-php5-cgi .html
AddHandler application/x-httpd-php .php .html .htm
// or
AddType application/x-httpd-php .php .htm .html
Обычно вы должны добавить:
Options +ExecCGI
AddType application/x-httpd-php .php .html
AddHandler x-httpd-php5 .php .html
Однако для общего хостинга GoDaddy (php-cgi) вам необходимо добавить также следующие строки:
AddHandler fcgid-script .html
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html
Источник: Анализ HTML как PHP Использование файла HTACCESS на Godaddy .
Запуск файлов .html как php неожиданно прекратился в моем файле .htaccess.
Поддержка Godaddy заставила меня изменить его на:
AddHandler application/x-httpd-lsphp .html
Используя подход @ Marc-François, Firefox попросил меня загрузить html-файл
. Наконец, для меня работает следующее (с использованием обоих):
AddType application/x-httpd-php .htm .html
AddHandler x-httpd-php .htm .html
Вы можете также использовать флаг H или T mod_rewrite, чтобы заставить все .html-файлы анализироваться обработчиком php:
с использованием флага H (Handler):
RewriteEngine on
RewriteRule \.(html|htm)$ - [H=application/x-httpd-php5]
с использованием флага T (Тип):
RewriteEngine on
RewriteRule \.(html|htm)$ - [T=application/x-httpd-php5]
Или вы можете добавить дополнительные расширения к шаблону правила, отделяемому контуром | что вы хотите разобрать обработчик php
ex:
RewriteRule \.(html|htm|txt|foo)$ - [T=application/x-httpd-php5]
, приведенный выше пример изменит тип файла mime, который заканчивается на .html, .htm, .txt, .foo to php.
Примечание: на некоторых серверах вам придется изменить php5 на php, чтобы этот пример работал в строке обработчика:
Измените его
[T=application/x-httpd-php5]
-
[T=application/x-httpd-php]
Это в редакции для всех других правильных ответов:
Если вы не можете найти правильный обработчик, просто создайте файл .php со следующим содержимым:
<?php echo $_SERVER['REDIRECT_HANDLER']; ?>
и запустить / открыть этот файл в браузере.
Используйте этот вывод в файле .htaccess
Создайте файл .htaccess в корневом каталоге вашего сайта (обычно это папка с именем public_html или htdocs на Linux-серверах) и добавьте эту строку:
AddType [[THE OUTPUT FROM ABOVE FILE]] .html .htm
Пример
AddType application/x-httpd-php70 .html .htm
Если вы видите пустую страницу или Notice: Undefined index: REDIRECT_HANDLER
Попробуйте установить значение по умолчанию в .htaccess
AddHandler application/x-httpd-php .html
Я использую PHP7.1, работающий в моей Raspberry Pi 3.
В файле /etc/apache2/mods-enabled/php7.1.conf
я добавил в конце:
AddType application/x-httpd-php .html .htm .png .jpg .gif