Я обновил до PHP 5.3 на машине разработки (окно Windows 7).
php-v показывает
PHP 5.3.3 (cli) (built: Jul 21 2010 20:36:55) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
Тем не менее, phpinfo.php показывает, что версия на машине: 5.2.14, как показано
Загруженный файл конфигурации правильно загружает правильный файл php.ini для 5.3. Конфигурационный файл (php.ini) Path ошибочно читает: C: \ Windows – я не устанавливаю PHP по указанному пути. Однако я сделал рекурсивный поиск папок и файлов PHP в этом файле, но поиск не стал ничем.
Приложения, похоже, используют настройки, сообщаемые phpinfo, а не php -v или php -m или php -i (или еще).
Помимо удаления папки PHP и начала с нуля (что я сделал) и обеспечения того, что Apache указывает на правильный PHP-каталог с помощью PHPINIDir, что я могу сделать, чтобы решить эту проблему? Благодарю.
Здравствуйте
Вы также должны обновить apache php module
@soju – это исправило это, спасибо, но я подумал, что сделаю это немного понятным для других.
Apache требует, чтобы php-модуль обслуживал php-файлы. В Windows это выглядит как DLL-файл. Это будет вызываться: php5apache2_2.dll – находится в вашей папке php. Странно, однако, при обновлении папки php с более новой версией вы можете узнать, что apache все еще использует старый файл модуля php. Таким образом, в то время как php -v корректно сообщает о новой версии, Apache по-прежнему смотрит на старый php-модуль (сообщает phpinfo). Чтобы узнать, какая версия модуля у вас есть, вы можете: щелкнуть правой кнопкой мыши по файлу .dll> выберите свойства -> просмотреть вкладку сведений. Или просто наведите указатель мыши на файл.
Если эта версия не то, что вы хотите, вы можете захотеть найти новую версию и заменить ее. Хорошая идея для резервного копирования в первую очередь. Кроме того, файл php5apache.dll работает и требует файл: php5ts.dll – поэтому убедитесь, что эти файлы имеют одинаковые версии.
С вашим файлом httpd.conf с директивой:
LoadModule php5_module "\path to\php5apache2_2.dll"
Вы можете перезапустить апач и улыбнуться!
PHP-версия вашей командной строки (CLI) – это другая версия, отличная от той, которая используется для Apache. Проверьте также, что оба используют один и тот же php.ini. Когда вы вызываете вашу машину Windows
c:\path\to\php\php.exe -v
или
c:\path\to\php\php-win.exe -v
а также
c:\path\to\php\php-cli.exe -v
Все они могут возвращать разные версии. Часто это происходит при обновлении до новой версии WAMP и забывании о удалении старых версий. Я уверен, что вы найдете исполняемый двоичный файл PHP, который соответствует той же версии. Также полезно использовать php.exe или php-win.exe вместо php-cli.exe для Windows.