Ошибка в php

12
S
На сайте с 07.11.2008
Offline
152
948

Вот такая ошибка возникает в php 5.2 и 5.3:

PHP Notice: iconv(): Cannot open converter in script.php on line X

Переставлял libiconv и php. Не помогает. В гугле по этой ошибке ничего нет. Что за конвертер не может открыть эта функция?

Nidora
На сайте с 20.08.2014
Offline
53
#1

Предоставьте код с той строки файла в которой ошибка.

VDS (http://vdsina.ru/?partner=1453) с SSD для профи всего за 149 руб/мес! Бонус 300 руб всем новым клиентам!
S
На сайте с 07.11.2008
Offline
152
#2

Код самый простой. На другом сервере все работает. А здесь нет.

<?php
echo iconv("CP1251", "UTF-8", "Привет");
?>
AGHost
На сайте с 16.11.2011
Offline
115
#3

Сам iconv есть?

# which iconv

/usr/bin/iconv

# rpm -qf /usr/bin/iconv

glibc-common-2.12-1.132.el6_5.3.x86_64

# php -m|grep iconv

iconv

8 лет на рынке услуг хостинга - https://agho.st (https://agho.st)
S
На сайте с 07.11.2008
Offline
152
#4

Да. Все есть.

iHead
На сайте с 25.04.2008
Offline
137
#5

судя по исходному коду расширения iconv, ошибка "Cannot open converter" происходит в следствие того, что функция iconv_open возвращает -1 (происходит ошибка, но не EINVAL).

man 3 iconv_open:


RETURN VALUE
The iconv_open function returns a freshly allocated conversion descrip-
tor. In case of error, it sets errno and returns (iconv_t)(-1).

ERRORS
The following error can occur, among others:

EINVAL The conversion from fromcode to tocode is not supported by the
implementation.
Рекомендуемый хостинг партнер 1С-Битрикс (https://www.ihead.ru/bitrix/), PHP-хостинг (https://www.ihead.ru/php/), доверенный партнер RU-CENTER (https://www.ihead.ru/news/573.html), официальный представитель REG.RU в Кирове (https://www.ihead.ru/news/851.html)
S
На сайте с 07.11.2008
Offline
152
#6

Уже переустановил все rpm. Не помогло.

iHead, и что это может значить?

Glueon
На сайте с 26.07.2013
Offline
172
#7

Нет возможно исполнить то же самое из консоли? Возможно будет дополнительный вывод.

Есть много IP-сетей в аренду под прокси, парсинг, рассылки (optin), vpn и хостинг. Телега: @contactroot ⚒ ContactRoot команда опытных сисадминов (/ru/forum/861038), свой LIR: сдаем в аренду сети IPv4/v6 (/ru/forum/1012475).
S
На сайте с 07.11.2008
Offline
152
#8

Какой командой запустить?

Glueon
На сайте с 26.07.2013
Offline
172
#9

Например:

echo 'привет' | iconv -f cp1251 -t utf8
S
На сайте с 07.11.2008
Offline
152
#10

Не знаю, каким образом вышло, но ошибку исправил.

Целый день делал rpm-копии программ утилитой checkinstall, которые когда-то ставил через make install.

Ставил rpm, удалял rpm, чтоб очистить систему от того, что насоздавал когда-то make install.

Потом удалил apr и apr-util. Поставил стандартные из yum.

Удалил apr-iconv.

Переустановил все glibc-*

Перекинул libiconv в /usr/local

Пересобрал php.

Пересобрал apache.

И ошибка осталась только при запуске файла из консоли, а в apache все заработало. А мне это и нужно было.

Вывод: все make install нужно ставить, прогоняя через checkinstall, иначе потом концов не найдешь.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий