Назад | Перейти на главную страницу

php -i, выполняемый из командной строки, и phpinfo, выполняемый из браузера, показывают разные параметры php

Моя проблема в том, что когда я выполняю php -i он показывает версию php как php 5.4 и загруженный файл конфигурации как /usr/local/lib/php.ini. Когда я выполняю сценарий phpinfo.php из командной строки он показывает php 5.3 и загруженный файл конфигурации как /etc/php.ini.

Как я могу включить интерпретатор PHP по умолчанию как php 5.3?

Мне нужен 5.3, потому что php 5.3 настроен с PDO и pdo_mysql где php 5.4 не настроен с ним, также версия zend для php 5.3 - 220090626, тогда как версия php 5.4 - 220090525.

Когда я пытаюсь выполнить PHP-скрипт из браузера, он компилируется с php 5.4 (который не имеет расширения PDO) и выдает фатальную ошибку как undefined PDO.

Как мне настроить мой Apache для загрузки php 5.3 для скриптов.

В phpinfo.php сценарий выглядит следующим образом

<?php
phpinfo();
?>

Ваш php.ini находится в / usr / local / lib? Это совершенно неправильно, никакой менеджер пакетов не поместит туда этот файл.

У вас должна быть локально созданная копия php на вашем хосте. which php покажет вам, где это. which -a php покажет вам все установленные версии php, которые находятся в вашем $ PATH. Бегать php -v на каждом, чтобы узнать, какая это версия.

Удалите ненужные версии, и у вас останется php 5.3. Если вы не можете их удалить, измените свой $ PATH так, чтобы тот, который вы хотите, был первым, например PATH=/usr/bin:/usr/local/bin если вы хотите / usr / bin / php вместо / usr / local / bin / php. Или определите псевдоним оболочки:

alias php=/usr/bin/php

и поместите его в файлы запуска оболочки (~ / .bashrc или ~ / .profile), чтобы эта версия всегда запускалась, когда вы вводите просто php.