Фатальная ошибка php

Я думаю, что лучший ответ на каждый из тех вопросов был бы дан Вами и Вашей командой. Намного более важно иметь соглашение о присвоении имен тогда, как точно соглашение о присвоении имен.

Как нет никакого правильного ответа, к которому, необходимо не торопиться (но не слишком много) и выбрать собственные соглашения, и - вот , важная часть - придерживается его.

, Конечно, хорошо искать некоторую информацию о стандартах, на который, который является тем, что Вы спрашиваете, но не становитесь беспокоящимися или взволнованными о количестве различных ответов, которые Вы могли бы получить: выберите тот, который кажется лучше для Вас.

На всякий случай, вот мои ответы:

  1. Да. Таблица является группой записи , учителя или агенты , так... множественное число.
  2. Да.
  3. я не использую их.
  4. база данных я использую чаще - Firebird - сохраняет все в верхнем регистре, таким образом, это не имеет значения. Так или иначе, когда я программирую, я написал имена способом, что легче читать, как releaseYear.
10
задан Granit 17 July 2009 в 08:49
поделиться

4 ответа

Существует взлом, использующий буферизацию вывода, который позволяет регистрировать определенные фатальные ошибки, но нет возможности продолжить выполнение сценария после возникновения фатальной ошибки - вот что делает его фатальным!

Если время ожидания вашего скрипта истекает, вы можете использовать set_time_limit () , чтобы дать ему больше времени для выполнения.

14
ответ дан 3 December 2019 в 17:21
поделиться

Есть ли способ ограничить время выполнения функции, но не всего сценария? Например,

function blabla()
{
return "yes";
}

, чтобы сделать так, чтобы, если он не будет выполнен в течение 25 секунд, возвращать нет;

0
ответ дан 3 December 2019 в 17:21
поделиться

Это зависит от конкретного типа ошибки. Вы можете отлавливать ошибки, создав свой собственный обработчик ошибок. См. Документацию по set_error_handler () , но не все типы ошибок могут быть обнаружены. Посмотрите на ошибку тайм-аута, которую вы получаете, и посмотрите, какой это тип. Если это один из E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR или E_COMPILE_WARNING, то вы не можете поймать его с помощью обработчика ошибок. Если это другой тип, то можете. Поймайте его обработчиком ошибок и просто верните.

1
ответ дан 3 December 2019 в 17:21
поделиться

& a - это число, которое является rvalue: вы можете сохранить его где-нибудь, если хотите, в объявленной или выделенной вами переменной типа int *.

То есть:

int a = 42;
&a; /* this does not store the address of a because you've not assigned the value to a variable */
int **aptr = &a; /* aptr is on the stack */
int **aptr2 = (int*)malloc(sizeof(int*));
aptr2 = &a; /* aptr2 is in the heap */

& (& a) is не юридический синтаксис. Таким образом, сервер может предоставить некоторые или все данные, которые мы ищем. Для целых чисел он может построить их с помощью простой арифметики (двойной или двойной и добавить 1 для каждого бита), для битов он просто предоставляет соответствующий зашифрованный бит.

Мы можем смешивать и сопоставлять логические и целочисленные значения в наших проектах, получая if / then / else (который требует оценки стиля SIMD обеих ветвей), оценивая cond * then + (1 - cond) * else, используя 1 как истину и 0 как false в cond, так что вы можете обойтись без использования встроенной арифметики вашего кольца, чтобы сделать ваши схемы более мелкими.

С другой стороны, мы могли предварительно зашифровать некоторые данные, но поскольку вы ' Придется повторно использовать один и тот же набор ключей, чтобы сделать это правильно.

Итак, теперь у нас есть данные, предоставленные сервером. Теперь зашифруйте то, что вы не делаете Я хочу, чтобы сервер знал, что именно вы ищете, и попросил их передать это в схему в нужных точках, скажем, в качестве дополнительных входных данных для вашей функции карты.

Мы должны иметь возможность отображать произвольная NC1-подобная схема для каждого входа для извлечения поля, умножения некоторых значений и, как правило, преобразования его в форму, которую можно легко уменьшить.

Затем уменьшите эти фрагменты, используя более мелкие схемы, например, для простого моноида, который дает хорошо ограниченный результат. (то есть вы сопоставляете, чтобы получить бит, который указывает, нашли ли вы совпадение, а затем вы уменьшаете, подсчитывая эти биты с помощью небольшой схемы сумматора)

Поскольку вам нужно только логически построить схему и смоделировать ее выполнение на этих зашифрованных битах в гомоморфном кольце вы, вероятно, могли бы относительно быстро реализовать это, используя небольшой DSL, т.е. time () и sleep () лучше, чем их эквиваленты в Unix: время выражается в виде чисел с плавающей запятой, time () возвращает наиболее точное время доступно (с использованием Unix gettimeofday где доступно), а sleep () будет принять время с ненулевой дробью (Unix select используется для реализации это, если доступно).

И более конкретно wrt sleep () :

Приостановить выполнение для заданного числа секунд. Аргументом может быть число с плавающей запятой для обозначения более точное время сна. Настоящий время приостановки может быть меньше запрошен, потому что любой пойманный сигнал завершит sleep () после выполнение перехвата этого сигнала рутина. Кроме того, время приостановки может быть длиннее , чем требует произвольная сумма из-за планирование другой деятельности в Таким образом, вам определенно требуется два или более списков.

Вот моя попытка решения:

Используйте обход предварительного заказа как средство определения порядка данных. Это имеет смысл, потому что вы знаете, что первый узел находится наверху, и вы знаете, что данные, расположенные слева от обхода, принадлежат левой части дерева и т. Д.

Обход вашего почтового заказа может определять глубину дерева. Например, предположим, что у меня есть такая структура:

      1
  2   5   6
 3 4  7

Where 2 is the parent of 3 and 4, and 5 is the parent of 7.

Preorder: 1 2 3 4 5 7 6
Postorder: 3 4 2 7 5 6 1

Мы знаем, что начинаем с 1, потому что это первый узел в обходе предварительного заказа. Затем мы смотрим на следующее число, 2. В почтовом порядке, поскольку число 2 идет ПЕРЕД узлом 1, мы знаем, что 2 должен быть дочерним по отношению к 1. Затем мы смотрим на 3. 3 идет перед 2, и, следовательно, 3 является потомком 2. 4 - это потомок 2, но после 3, поэтому мы знаем, что 4 - это потомок 2, но НЕ ребенок 3. И т.д.

Теперь, В Visual C # вы можете создать документацию для своего кода, включив теги XML в специальные поля комментариев в исходном коде непосредственно перед блоком кода, на который они ссылаются. "

http://msdn.microsoft.com/en-us/library /b2s063f7.aspx[1246 sizes затем вы можете использовать Sandcastle для генерации файлов chm, если хотите

http://www.hanselman.com/blog/SandcastleMicrosoftCTPOfAHelpCHMFileGeneratorOnTheTailsOfTheDeathOfNDoc.aspx [1212484] -121 [1112484 -121] ] «Неустранимая ошибка», как следует из названия, является критической: она останавливает выполнение скрипта / программы.

Если вы используете PHP для создания веб-страниц и получаете критическую ошибку, связанную с max_execution_time что по умолчанию равно 30 секундам, вы, безусловно, делаете что-то, что действительно занимает слишком много времени: пользователи, вероятно, не будут так долго ждать, чтобы получить страницу.

Если вы используете PHP для выполнения некоторых сложных вычислений, а не на веб-странице (а через CLI, или cron, или что-то подобное) , вы можете установить другое (больше) значение для max_execution_time . У вас есть два способа сделать это:

Во-первых, изменить php.ini, чтобы установить это значение (оно уже находится в файле; просто отредактируйте значение свойства). Проблема в том, что он изменит его также для веб-сервера, что плохо (в конце концов, это мера безопасности) . Лучше создать копию php.ini, названную, например, phpcli.ini, и изменить этот файл. Затем используйте его при вызове php:

php -c phpcli.ini myscript.php

Это будет отлично работать, если у вас есть много свойств, которые нужно настроить для выполнения CLI. (Подобно memory_limit , который часто должен быть установлен на более высокое значение для длительных пакетов)

Другой способ - определить другое значение для max_execution_time при вызове php , например:

php -d max_execution_time=60 myscript.php

Это замечательно, если вы запускаете это, например, через crontab.

7
ответ дан 3 December 2019 в 17:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: