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) и выдает фатальную ошибку как неопределенный PDO.
Как мне настроить мой Apache для загрузки php 5.3 для скриптов.
phpinfo.php
Сценарий выглядит следующим образом
<?php
phpinfo();
?>
1 ответ
Ваш 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
,