У меня такая проблема, скинул на хастинг сайт и почему-то перестали работать строковые функции! С чем это может быть связано, в тех поддержке говорят, что типо нужно произвести какие-то настройки PHP! Но вот какие именно?!
Спустя 33 секунды (3.08.2011 - 00:10) neadekvat написал(а):
Смотря какие именно функции не работают. mb_* ?
Спустя 6 минут, 1 секунда (3.08.2011 - 00:16) Footya написал(а):
Да все!
Вот эти точно, поточу что я с ними работаю на сайте! Ну и другие мне кажется тоже, не проверял!
strtolower()
strtoupper()
explode()
ucfirst()
Вот эти точно, поточу что я с ними работаю на сайте! Ну и другие мне кажется тоже, не проверял!
strtolower()
strtoupper()
explode()
ucfirst()
Спустя 7 минут, 6 секунд (3.08.2011 - 00:23) Footya написал(а):
На хостинге посоветовали порыться в "Управлениях модулями"!
Я там выбрал свой PHP v5.2.10 и там есть такая штука
Расширения модуля PHP
И ниже предоставляются эти расширения на выбор: gd, iconv, mysql, session, zlib и т.д. там много всяких, может здесь какое-то расширение надо врубить!?
Я там выбрал свой PHP v5.2.10 и там есть такая штука
Расширения модуля PHP
И ниже предоставляются эти расширения на выбор: gd, iconv, mysql, session, zlib и т.д. там много всяких, может здесь какое-то расширение надо врубить!?
Спустя 1 минута, 47 секунд (3.08.2011 - 00:25) Invis1ble написал(а):
Footya
Цитата |
перестали работать строковые функции! |
как ты узнал? ошибки какие пишутся?
Спустя 4 минуты, 31 секунда (3.08.2011 - 00:29) neadekvat написал(а):
Перечисленные функции входят в ядро, их нельзя отключить, насколько мне известно.
Лучше приведи текст ошибки, если таковая есть. А если нет - то ответ, с чего ты решил, что дело в функциях.
Лучше приведи текст ошибки, если таковая есть. А если нет - то ответ, с чего ты решил, что дело в функциях.
Спустя 1 минута, 16 секунд (3.08.2011 - 00:31) Footya написал(а):
YНичего не пишеться, просто не работают!
Пишу Корявое слово, пропускаю его через strtolower() , пофиг, остается такое же корявое!
А на локальном все нормально работает!
Пишу Корявое слово, пропускаю его через strtolower() , пофиг, остается такое же корявое!
А на локальном все нормально работает!
Спустя 3 минуты, 43 секунды (3.08.2011 - 00:34) Invis1ble написал(а):
neadekvat
Цитата |
Перечисленные функции входят в ядро, их нельзя отключить, насколько мне известно |
можно, через php.ini
Спустя 2 минуты, 44 секунды (3.08.2011 - 00:37) neadekvat написал(а):
Цитата (Footya @ 3.08.2011 - 01:31) |
Пишу Корявое слово, пропускаю его через strtolower() , пофиг, остается такое же корявое! |
А какое оно должно стать? К тому же, скрипт ведь не прекращает работу - значит, с функцией все ок.
Цитата (Invis1ble @ 3.08.2011 - 01:34) |
можно, через php.ini |
Это какое же расширение надо отключить, интересно?
Спустя 3 минуты, 17 секунд (3.08.2011 - 00:40) Footya написал(а):
Цитата |
А какое оно должно стать? |
Оно должно встать в нижний реестр, но это все фигня, я сейчас там врубил модуль mbstring и заработала функция strtolower, но explode по прежнему не работает!
Спустя 1 минута, 24 секунды (3.08.2011 - 00:42) neadekvat написал(а):
Цитата (Footya @ 3.08.2011 - 01:40) |
я сейчас там врубил модуль mbstring и заработала функция strtolower |
wtf? mbstring и strtolower никак не связаны, что, правда, не касается функции mb_strtolower и иже mb_*, о коих я спросил еще в первом своем посте.
Спустя 19 секунд (3.08.2011 - 00:42) Invis1ble написал(а):
neadekvat
Цитата |
А какое оно должно стать? К тому же, скрипт ведь не прекращает работу - значит, с функцией все ок. |
Цитата |
Это какое же расширение надо отключить, интересно? |
http://www.php.net/manual/en/ini.core.php#...sable-functions
php.ini
disable_functions = 'strtolower'
test.php
<?php
error_reporting(E_ALL | E_STRICT);
echo strtolower('HELLO'); // Warning: strtolower() has been disabled for security reasons in .....
Спустя 1 минута, 55 секунд (3.08.2011 - 00:44) Footya написал(а):
ХАаааа, еще обнаружил такую вещь, что работают эти функции только с латинскими символами, а с кирическими нет!
Спустя 1 минута, 18 секунд (3.08.2011 - 00:45) Invis1ble написал(а):
Footya
для работы с кириллицей и предназначены ф-ции mb_*
для работы с кириллицей и предназначены ф-ции mb_*
Спустя 27 секунд (3.08.2011 - 00:46) neadekvat написал(а):
Invis1ble, как часто тебе попадался хостинг с подобными настройками? Надо быть клиническим идиотом, чтобы отключать подобные функции.
Все "страшное", что обычно нужно ограничить, делается отключением соответствующих библиотек или настроек типа allow_url_fopen.
Имхо, автор нас путает, сознательно или нет.
Все "страшное", что обычно нужно ограничить, делается отключением соответствующих библиотек или настроек типа allow_url_fopen.
Имхо, автор нас путает, сознательно или нет.
Спустя 1 минута, 30 секунд (3.08.2011 - 00:47) Invis1ble написал(а):
neadekvat
речь идет не о частоте, а о возможности впринципе
речь идет не о частоте, а о возможности впринципе
Спустя 1 минута, 58 секунд (3.08.2011 - 00:49) Footya написал(а):
Да че мне вас дурить, мне больше заняться нечем в час ночи?
Я говорю не рабоет, на полном серьезе, может есть еще что-то?!!
Я говорю не рабоет, на полном серьезе, может есть еще что-то?!!
Спустя 9 минут, 3 секунды (3.08.2011 - 00:58) Footya написал(а):
А если использовать функции mb_, а не обычные строковые функции, они будут работать с латынью?!
Спустя 1 минута, 10 секунд (3.08.2011 - 00:59) Invis1ble написал(а):
да, только кодировку не забудь указать
Спустя 3 минуты, 13 секунд (3.08.2011 - 01:03) Footya написал(а):
Цитата |
да, только кодировку не забудь указать |
Где это надо сделать?!
Спустя 34 секунды (3.08.2011 - 01:03) Footya написал(а):
Я еще не нашел функции mb_explode(), такая вообще существует?!
Спустя 1 минута, 33 секунды (3.08.2011 - 01:05) Footya написал(а):
И не помешала бы еще фунция mb_ucfirst(), ну или какая-нибудь заменяющая ее!
Спустя 3 минуты, 59 секунд (3.08.2011 - 01:09) Invis1ble написал(а):
Footya
Цитата |
Я еще не нашел функции mb_explode(), такая вообще существует?! |
нет
Цитата |
И не помешала бы еще фунция mb_ucfirst(), ну или какая-нибудь заменяющая ее! |
тоже нет такой
Цитата |
Где это надо сделать?! |
второй аргумент, RTFM
Спустя 53 минуты, 48 секунд (3.08.2011 - 02:02) Nikitian написал(а):
Попробуйте в начале скрипта установить локаль:
setlocale(LC_CTYPE, 'CP1251');
Спустя 7 часов, 43 минуты, 36 секунд (3.08.2011 - 09:46) neadekvat написал(а):
Nikitian, эм, а что, у нас в локаль уже кодировку можно писать? Обычно как-то ru_Ru, ru_RU.cp1251 и пр.
Спустя 39 минут, 21 секунда (3.08.2011 - 10:25) Footya написал(а):
Цитата |
setlocale(LC_CTYPE, 'CP1251'); |
Все равно не работают!
АААААаааа, что делать, что делать!??? Есть еще какие-нибудь идеи, может что-то кто-нибудь вспомнит?!
Спустя 28 минут, 12 секунд (3.08.2011 - 10:54) linker написал(а):
Не работает оно потому, что на хостинге стоит UTF-8, а у тебя скорее всего винда с WINDOWS-1251. Стандартные функции для работы со строками криво работают с символами, для которых используют двухбайтовые кода. Некоторые стандартные функции имеют аналоги в расширении mbstring, для остальных можно использовать regexp с модификатором u. А explode() вообще пофигу на кодировку. Пример неработающего кода в студию.