CodeIgniter 4 и расширения PHPPhp

Кемеровские программисты php общаются здесь
Anonymous
CodeIgniter 4 и расширения PHP

Сообщение Anonymous »

Наше приложение было создано с использованием программного обеспечения MapGuide OpenSource (MGOS) и CodeIgniter 3. Я пытаюсь обновить платформу до CodeIgniter 4.6.3, однако столкнулся с проблемой, из-за которой пользовательское расширение PHP из MGOS не может быть успешно вызвано CodeIgniter 4. Расширение PHP отображается как включенное, когда я запускаю phpinfo() и когда я проверяю его с помощью сценария CLI php. -м. Похоже, что сценарий приложения распознает расширение PHP при первом входе пользователя в систему, однако при последующих вызовах, ссылающихся на расширение PHP, я получаю сообщение об ошибке, в котором говорится, что класс не найден в папке «Контроллеры».
У разработчика MGOS есть «здравый» сценарий, который проверяет сценарий, чтобы убедиться, что классы вызываются правильно, и когда я пытаюсь запустить его, он терпит неудачу при первой команде MGOS. Начало скрипта:

Код: Выделить всё

echo "Initializing web tier";
try {
MgInitializeWebTier("DIR_PATH\Web\www\webconfig.ini");\
} catch (MgException $initEx) {
echo "Init failure!";
die;
} catch (Exception $ex) {
echo "[php]: Exception: " . $ex->getMessage() . "\n";
die;
}
echo "[php]: Initialized\n";
echo "[php]: Testing some constants\n";

//The next line is where it fails:

echo "  - " . MgMimeType::Agf . "\n";
При возврате CodeIgniter возникает следующая ошибка:
Класс «App\Controllers\Maptools\MgMimeType» не найден
Кто-нибудь сталкивался с этой проблемой в CodeIgniter 4? У нас не было этой проблемы с CodeIgniter 3. Судя по тому, что я нашел в Интернете, правильный файл php.ini редактируется, а версия PHP — 8.1.29, поэтому проблем с совместимостью быть не должно. Расширение PHP представляет собой файл .dll, и я не думаю, что к нему можно применять пространства имен.

Подробнее здесь: https://stackoverflow.com/questions/798 ... extensions

Вернуться в «Php»