Как я исправил ошибки на новом сервере

Засетапили мне на днях новый сервер с установленным на нём CentOS 5.2. Начав переносить на него сайты с другого сервера я столкнулся с проблемой: на сайтах, где присутствовал русский текст, вместо него отображались ромбики, квадратики и другие “кракозяблы”. Причём на сайтах между тегами head присутствовал meta http-equiv="Content-Type" content="text/html; charset=windows-1251". Но это не помогло. А ошибка исправилась просто: в файле /etc/httpd/conf/httpd.conf нужно закоментировать строку AddDefaultCharset UTF-8 После этого перезагружаем apache командой service httpd restart и любуемся на результат.

Вторая ошибка выскакивала при запуске/перезагрузке апача:

service httpd restart
Stopping httpd: [ OK ]
Starting httpd: httpd: apr_sockaddr_info_get() failed for 188-xxx-xxx-xxx.local
httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
[ OK ]

Вначале узнаем наш hostname, для этого в шелле вводим:
hostname
У меня он имеет вид: ip-моего-сервера.local
Далее редактируем файл etc/hosts. Внизу файла добавим 192.168.0.111 188-xxx-xxx-xxx.local где вместо 188-xxx-xxx-xxx.local добавьте ваш hostname После этого перезагружаемся.

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

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)

Как оценить свои интернет заработок в глобальном масштабе

Вы когда-нибудь задумывались над тем, как будет выглядеть ваш годовой доход в мировом масштабе? Т.е. в сравнении с доходами других людей. Много или мало мы получаем по сравнению с людьми из других стран? Недавно наткнулся на интересный сайт globalrichlist.com - измеритель вашего богатства. Вводите сумму, равную вашему годовому доходу, выбираете валюту (рубля нету, поэтому придётся в доллары пересчитать, курс к рублу уже 27,05 o_0) и кликаете “Show me the money!”. Не буду говорить на каком я оказался месте, скажу лишь, что место в топе меня разачаровало. :( Я и не знал, что всё так плохо. Кстати, для того, что бы войти в топ хотябы 20млн. богатейших людей мира, по версии этого сайта, нужно зарабатывать ~ 150500 зелёных в год. Это ~ 412$ в день. Как же много в мире богатых…
f34ac608e73485938e41f9c5ec68b741

Google разрешит рекламу азартных игр

Google намерен частично снять введенный им в 2004 году всемирный запрет на размещение рекламы интернет-казино и букмеркеров, пишет газета The Independent.

Новую рекламу смогут дать лишь европейские рекламодатели, имеющие соответствующую лицензию.

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

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

В Великобритании настороженно относятся к азартным играм через интернет. В мае 2008 года, например, регулирующие органы запретили рекламу онлайн-казино за пропаганду таких азартных игр и безответственного поведения игроков. В США интернет-казино с конца 2006 года вообще запрещены.

В доменной зоне .info новая политика

Компания Afilias, являющаяся администратором доменной зоны INFO, объявила об изменении политики управления. Речь идет об ужесточении правил относительно тех доменов, которые «замечены» в фишинге, рассылке спама, распространении вредоносного программного обеспечения, управлении бот-сетями и т. п.

Публичная доменная зона INFO предназначена для размещения информации о чем-либо: о частном лице, организации, товаре, услуге и т. п. Сегодня количество доменов второго уровня в ней превышает 5 миллионов штук. Зона INFO отличается очень низким уровнем безопасности. Согласно исследованиям специалистов 11,8% доменов в нем представляют собой угрозу посетителям. Особенно заметно их число выросло за последний год (с 7,5%).

Для того, чтобы исправить складывающуюся в зоне INFO ситуацию, ее администратор изменил политику управления. Теперь преследоваться будут все проявления мошенничества, включая фишинг, спам, распространение вредоносных программ, участие в создании бот-сетей и т. п. Сначала о проблеме будет сообщаться владельцу домена, после чего последний будет удален из DNS или информация о факте нарушения закона будет передана правоохранительным органам. Представители администратора заявляют, что «политика предполагает применение модернизированной системы обнаружения преступников и дальнейшее использование принудительных мер».

Google предлагает 10 миллионов баксов за идеи

Google, празднующий в этом месяце 10 летний юбилей, объявил о старте проекта 10^100, на который потратитит 10 лямов на воплощение идей, способных изменить мир

Google предлагает всем желающим заявить о своих идеях на сайте проекта до 20 октября. Заявки принимаются на 25 языках. Из общего числа заявок Google выберет 100 наиболее достойных, по мнению компании, идей. Затем пользователям интернета будет предложено проголосовать за понравившиеся им идеи. По итогам голосования будет составлен шорт-лист из 20 претендентов. Специальная комиссия выберет из этого списка 5 финалистов, воплощение чьих идей будет профинансировано Google.

сайт проекта http://www.project10tothe100.com

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

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

Новый поисковик для детей от Ask.com - Ask Kids

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

Новый поисковик имеет полностью настраиваемый дизайн; пользователь может выбрать не только фон страницы, но и украсить ее стикерами и иконками.

Ask Kids также внедрил весьма популярную функцию родительского Ask - Ask3D. Визуальное оформление результатов поможет детям структурировать информацию и получить лучшие результаты от поиска, сообщает официальный блог Ask - blog.ask.com

Интернет-браузер от google - Chrome.

Компания Google анонсировала интернет-браузер Chrome и представила 38-страничный виртуальный комикс, рассказывающий о его возможностях. Тестовая версия браузера появится в открытом доступе сегодня вечером, второго сентября. Ее смогут скачать жители ста стран. Об этом сообщается в официальном блоге поисковика.

Представители Google подчеркивают, что главными особенностями Chrome являются удобство, простота и надежность. Первоначально браузер будет работать только в операционной системе Windows, однако в дальнейшем Google намерена выпустить Chrome для Mac OS и операционных систем на базе ядра Linux.

Из особенностей браузера разработчики особо выделяют изолированные вкладки, которые предотвращают сбой программы и обеспечивают более надежную защиту от опасных сайтов. Также в Chrome реализован новый движок JavaScript V8. Он позволит браузеру работать с веб-приложениями нового поколения, которые не могут быть запущены в современных браузерах.

При создании Chrome использовались компоненты уже существующих разработок. В частности, Apple WebKit и Mozilla Firefox. Представители Google пообещали, что все компоненты браузера Chrome будут открыты для сторонних разработчиков.

Отметим, что в настоящее время в пакет бесплатных программ Google Pack входит браузер Firefox. Будет ли он в будущем заменен на Chrome, не сообщается.

Предсказания Ванги касательно разлочки старофета


Удачного вам дня! :)