PSNet, developing for LiveStreet CMS

Поиск по тегу

IIS

извращение…

едем дальше на apache2+php5+MSSQL

IIS\PHP5\MSSQL2005

Попытка №2. Попробую собрать сервак на Win7x64. IIS+PHP5+MSSQL2005 — конечно изврат. Но надо сделать, как можно близкими сервисами вЕнды, сервак статистики. Посмотрим, что из этого выйдет.

Apache/PHP5/MSSQL2005-Win32

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

PHP 5.3.x и новые порядки

Перенося мощный движок, с одного простого и больного хостинга, на новый, быстрый VPS. Установив php 5.3.x, получил проблему при работе скрипта:
Deprecated: Assigning the return value of new by reference is deprecated in 
 /../../searchresults.php on line 128
Первым делом посмотрев на ту самую, заветную строчку
$locationManager =& new LocationManager();
ничего смертельного не увидел. Зайдя на php.net начал читать, искать правила.
Нашел пост, сам пост:
In reply to pike at kw dot nl, '&' is only apply to PHP 4.
PHP 5 changed the behavior and the object is defaultly passed by references and if you turn on E_STRICT, you will get a notice:
Strict Standards: Assigning the return value of new by reference is deprecated in xxxx
If you want to *copy* object in PHP 5, use object clone.
Стандарт, он и в африке стандарт.
Убрал "&" из
$locationManager = new LocationManager();

Ошибка устранена.
Дорабатываем скрипт.:)

substr + UTF-8

Доработка скрипта под RU.
С помощью скрипта (PHP) формируется блок с информацией. Первая часть состоит из слов (кириллица в UTF-8). Вторая часть состоит из цифр. Слова хранятся в файле языковой локализации.
Проблема выглядит вот так:

$a = explode(",", LANG_A);
...
echo "<th>".ucwords(substr($a[$i], 0, 1))."</th>";
...

Пример LANG_A:
define(LANG_A, "понедельник,вторник,среда,четверг,пятница,суббота,воскресенье");

Результат не радует совсем, вместо родных букв знаки вопроса.

Остальной текст на странице выглядит культурно и так как должен выглядеть.

Решение проблемы:

...
echo "<th>".mb_substr(mb_convert_case($a[$i], MB_CASE_TITLE,"UTF-8"), 0, 1,'utf-8')."</th>";
...

Берем слово из переменной LANG_A, первую букву переводим в верхний регистр. И её же отрезаем от всего слова.
Так работает :)