Archive for the ‘Технические вопросы’ Category

Общие ошибки т.е. не относящиеся к конкретным библиотекам функций или классам

Notice: Undefined variable: [имя переменной] in …
Использование необъявленной переменной. Т.е. любой переменной перед использованием должно быть присвоено значение. Проверить существование переменной можно функцией isset.

 
Notice: Use of undefined constant [имя константы] - assumed ‘[имя константы]‘ …
Использование неизвестной константы. Возможно, какая-то строка не заключена в кавычки, из-за чего php интерпретировал её как константу.

 
Notice: Undefined index: [ключ элемента] in …
В массиве нет элемента с указанным ключом.

 
Notice: Undefined offset: [номер элемента] in …
В массиве нет элемента с указанным индексом (номером).

 
Notice: Only variable references should be returned by reference in …
“Начиная с PHP 4.4.0 и PHP 5.1.0, если код пытается вернуть по ссылке динамическое выражение или результат оператора new, будет выброжено предупреждение E_NOTICE” (c) php.net

 
Warning: [имя функции] [function.[имя функции]]: Too few arguments in …
Недостаточно аргументов для функции с переменным числом аргументов. Например, printf()

 
Warning: Cannot use a scalar value as an array in …
Возникает, когда переменной сначала было присвоено скалярное значение (число, строка), а потом к ней обратились как к массиву. Пример короче:$a = 1; $a[] = 1; Нужно сначала явно присвоить переменной массив: $a = array()

 
Warning: Invalid argument supplied for foreach() in …
Переданный для перебора аргумент не является ни массивом, ни объектом.

 
Fatal error: Call to undefined function [имя функции] in …
Вызов неизвестной функции. Возможно неподключена необходимая библиотека, возможно просто ошиблись в названии.

 
Fatal error: Unsupported operand types
Тип данных не поддерживает данной операции. Проверьте, не попытались ли вы поделить число на массив или сделать какую-нибудь другую глупость :)

 
Fatal error: Non-static method [класс]::[метод] cannot be called statically
Попытка вызвать не-статический метод как статический.

 
Fatal error: Non-abstract method [класс]::[метод] must contain body
Все методы кроме абстрактных должны иметь тело.

 
Fatal error: Call to private (protected) [класс]::[метод] from invalid context
Попытка вызвать private (protected) метод из области видимости, в которой он недоступен.
См. руководство: Область видимости

 
Fatal error: Cannot access protected property [класс]::$[атрибут]
см. выше

 
Fatal error: Constructor A::__construct() cannot be static
Конструктор не может быть статическим. Ну ни как :)

 
Fatal error: Cannot re-assign $this in …
Переменная $this зарезервирована для ссылки объекта на самого себя.

 
Fatal error: Using $this when not in object context in …
Использование $this вне объета невозможно

 
Fatal error: Call to a member function [имя функции] on a non-object in …
Переменная которая по идее должна содержать ссылку на объект, видимо содержит что-то другое, поэтому вызвать метод объекта невозможно.

 
Fatal error: Cannot access empty property in …
Невозможно получить доступ к пустому атрибуту объекта. Бывает, к примеру, если случайно обратиться к $object->$value вместо $object->value.

 
Fatal error: Access to undeclared static property: [класс]::[$атрибут] in …
Попытка обращения к необъявленному статическому свойству (атрибуту) класса

 
Fatal error: Undefined class constant [константа] in …
Попытка обращения к неизвестной константе класса

 
Fatal error: Cannot redeclare [имя функции] (previously declared in [/путь/к/файлу:№строки]) in …
Невозможно переопределить однажды объявленную функцию. Т.е. функция с таким именем уже существует. Если это пользовательская функция, указывается путь к файлу, где она была впервые описана. Такая ошибка может возникнуть при использовании include (но не include_once) - если файл с функцией случайно подключить дважды.

 
Fatal error: Uncaught exception ‘[имя класса-исключения]‘ with message ‘[текст сообщения]‘ in [источник исключения] Stack trace: [стек вызовов функций]
неперехваченное исключение.

 

СУБД MySQL

 
Warning: mysql_connect() [function.mysql-connect]: Access denied for user [пользователь]@[хост] (using password: [есть_ли_пароль]) in …
Не удалось подключиться к MySQL. Проверяйте параметры подключения.

 
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in …
причина таже - отсутствие подключение к БД

 
Warning: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in …
Аргумент функции не является корректным результатом запроса. Видимо в запросе ошибка. Аналогично для mysql_fetch_assoc(), mysql_fetch_row(), mysql_num_rows() и др.

 
Warning: mysql_result(): Unable to jump to row [номер строки результата] …
Невозможно перейти к указанной строке в результах запроса.

 

Файловая система

 
Warning: fopen([имя_файла]) [function.fopen]: failed to open stream: No such file or directory in …
Не найден файл или директория. Аналогично для функций file(), file_get_contents(), readfile(), move_uploaded_file(), etc …

 
Warning: fopen([имя_файла]) [function.fopen]: failed to open stream: Permission denied in …
Нет прав доступа на требуемый файл.

 
Warning: fgets(): supplied argument is not a valid stream resource in …
Аргумент функции не является корректным потоком. Видило, при открытии файла произошла ошибка. Аналогично для функций fread(), feof(), fclose() и др.

 
Warning: [имя функции] [function.[имя функции]]: open_basedir restriction in effect. File([путь/к/файлу]) is not within the allowed path(s): ([разрешенные/директории]) in
Означает что указанный файл (директория) не входит в дерево директорий разрешенных опцией open_basedir (http://ru2.php.net/manual/ru/features.safe-mode.php).

 
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move ‘[откуда]‘ to ‘[куда]‘ in …
Невозможно переместить файл. Проверьте аргументы функции.

 
Fatal error: require_once() [function.require]: Failed opening required ['имя подключаемого файла'] …
require (require_once), в отличие от include (include_once) в случае неудачного подключения файла вызывает фатальную ошибку

 

Библиотека GD

 
Warning: imagecopyresized(): supplied argument is not a valid Image resource …
Первый аргумент функции не является корректным ресурсом изображения GD. Видимо произошла ошибка при создании изображения (imageCreate, imageCreateTrueColor) или при открытии изображения из файла (imageCreateFromJpeg, -Gif, -Png)

 
Warning: imagejpeg() [function.imagejpeg]: Unable to open ‘test.jpg’ for writing in …
Не удалось найти файл, указанный для сохранения изображения

 
Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in
Некорректно указаны размеры изображения

 

Заголовки

 
Warning: Cannot add header information - headers already sent by (output started at [/путь/к/файлу.php:№строки]) in …
скорее всего вызвали функцию header(), session_start() или setcookie() после echo…
[/путь/к/файлу.php:№строки] - место, где “начался” вывод (т.е. первый вызов функций print, echo, etc.)

 

Разбор кода

 
Parse error: syntax error, unexpected [токен] in …
Все ошибки, обнаруживаемые при разборе кода описать наверное невозможно, т.к. наворотить в коде можно что угодно… Всё же чаще всего - parse-ошибка означает что где-то забыта или поставлена лишняя скобка, кавычка, запятая, точка и т.п.
В сообщении парсер обозначает “токен” (token), с которым возможно связана ошибка - это те самые T_STRING, T_IF, T_VARIABLE и т.д. Со списком токенов можно ознакомится в официальном руководстве. Так же, вместо токена может стоять {, [ или другая языковая конструкция, из-за отсутсвия (или наличия) которой возможно возникла ошибка.

 

Несортированное

 
Warning: strpos() [function.strpos]: Offset not contained in string. in …
Отступ (третий аргумент функции) больше, чем длинна самой строки

 
Fatal error: Maximum execution time of 30 seconds exceeded in …
Превышено максимальное время выполнения php-сценария (max_execution_time)

Как вставить код от sape в шаблон mp3fiesta

Хотите получить дополнительный доход с sape, разместив ссылки на шаблонах от mp3fiesta?
Попробовали, но ничего не получается? php-код не выполняется, выскакивает ошибка return_links(); ?> ?
Палю тему, на самом деле всё очень просто: нужно код sape вставить в файл index.php в корне домена (т.е. например mp3.com/index.php) в самый конец и тогда всё сразу заработает как по волшебству. :)

меняем пароль root-a для MySQL в phpMyAdmin

Понадобилось сменить пароль root-a в MySQL, облазил весь phpMyAdmin - не нашёл ничего, оказывается нужно кликнуть пункт Привилегии и выбрать справа от пользователя редактировать. Только и всего :)

Работаем с кроном в shell

Если у вас нет панели на сервере или хостинге то редактировать крон на хосте можно следующим образом:

Заходим в программу putty, выбираем SSH, вводим информацию – коннектимся. Всё предельно просто, попадаем в консоль управления (шелл)

вот такая структура редактирования крона
1. crontab -e -u имя вашей учётной записи (например crontab -e -u sashawww)
2. нажимаете на кнопку Ins и редактируете (вставляете/убираете задания … если вначали строки с заданием вы поставите # то задание выполняться не будет)
3. сохраняёте/несохраняете и выходите. Для этого нажимаете кнопку Esc и в коммандной строке редактора пишите

:wq - если захотите сохранить файл и выйти (обратите внимание везде будет двоеточие вначале)
:q - это просто выход
:q! - это выход без сохранения, используется если вы уже начали редактирование
:w - просто сохранение

Всё :)

VISA и layeredtech.com

Решил тут прикупить себе сервер, минуя всяких посредников. Выбрал layeredtech.com Проблема заключалась в том, что они не принимают WebMoney, оплатить можно только VISA, MasterCard или через PayPal. У меня была карта VISA Electron от epassporte.com, решил воспользоваться ей. Вначале всё шло ништяк :) но дойдя до “Step 3: Billing Info” я застрял на поле ” * Security Number: “. Попытася найти информацию в google и яндексе - безуспешно. Попробовал вбить туда пин код - выдаёт ошибку, попробовал вбить другие цифры - ни хрена не проходит. Попробовал прочитать текст, который скрывался за ссылкой what is this? - не асилил, многа букаф оказалось :)

Вконец отчаявшись, решил обратиться на родной УмаксФорум, где мою проблему решили ровно за 1 час. :)

Оказалось, ” * Security Number: ” - это трёхзначное число, которое приходит в самом первом письме, там его нетрудно найти CVV2 Number: *** - так оно выглядит :)

Дальше всё проще пареной репы, через минуты 1,5 я уже наблюдал …… your order has been successfully submitted. ………

Кстати, мне посоветовали платить виртуалкой, а не пластиком, что я и вам советую :) Удачи!