Я пытаюсь использовать гендерное расширение для php при новой установке Linux Mint 19.
Я установил php 5.6 и 7, добавив Ondřej Surý PPA для установки разных версий PHP — PHP 5.6, PHP 7.0 и PHP 7.1 в системе Ubuntu. Я использую версию php 5.6 для своего проекта.
И теперь я пытаюсь установить расширение пола php, следуя примеру в https://gist.github.com/wowo/6154154, который указывает мне:
# install gender http://www.php.net/manual/en/book.gender.php
sudo apt-get install libpcre3-dev
sudo pecl install gender
# generate data
mkdir ~/gender
sudo pear run-scripts pecl/gender
# enable module
echo 'extension=gender.so' >> /etc/php5/cli/php.ini
Итак, все, что кажется, работает нормально, оно спрашивает меня: «Где должен быть сохранен файл словаря имен? Сохраненный словарь можно изменить и прочитать во время выполнения. В противном случае будет использоваться скомпилированный словарь». И я добавил /home/mycomp/gender, потому что именно там mkdir создал папку «пол».
Затем в тестовом сценарии у меня есть:
<?php
use Gender\Gender;
$gender = new Gender();
printf("Wojciech is %s\n",
$gender->get('Wojciech', Gender::POLAND) == Gender::IS_MALE
? 'Male'
: 'Not male');
// prints Wojciech is Male
printf("Anna is %s\n",
$gender->get('Anna', Gender::POLAND) == Gender::IS_FEMALE
? 'Female'
: 'Not female');
// prints Anna is Female
Но я получаю сообщение об ошибке:
Неустранимая ошибка: класс «Пол\Пол» не найден в /var/www/html/test/index.php в строке 4.
Я не могу понять, что я делаю неправильно. Кто-нибудь может просветить меня?
Я проверил phpinfo, но там нет упоминания о поле. Как вы думаете, что я сделал не так?
Вы перезапускали веб-сервер после активации расширения? Думали ли вы добавить расширение не только в конфигурацию CLI, но и в конфигурацию веб-сервера, если вы вызываете скрипт с помощью браузера?
Да, я перезапустил апач. Как добавить расширение на веб-сервер? Единственные инструкции, которые я нашел в Интернете, описывают то, что я уже сделал. Спасибо за помощь кстати
Должен быть еще один php.ini - и phpinfo() поможет вам его найти. Там вы должны добавить ту же строку, которую вы добавили в другой ini.
Я добавил extension=gender.so во все файлы php.ini, которые смог найти. В частности, /etc/php/5.6/apache2/php.ini и /etc/php/5.6/cli/php.ini и перезапустили apache. Вроде не помогает :-(
Что phpinfo() говорит вам об этом — перечисляет ли он эти два файла? Записывается ли что-нибудь в журнал Apache при запуске?






Вы проверили, правильно ли было включено это расширение? Вы должны найти его в выводе
phpinfo()