【问题标题】:OSX Apache using wrong version of PHPOSX Apache 使用错误版本的 PHP
【发布时间】:2012-11-16 18:58:24
【问题描述】:

我按照指南使用 home-brew 在 OSX Mountain Lion 上安装了最新版本的 php (5.4.8)。

然后我按照指南向我展示了如何在 OSX 上设置和使用预安装的 apache。

但是,当我尝试运行一个基本的 Symfony 2 项目时,我收到一堆与 php.ini 中缺少 date.timezone 相关的错误。

但是我已经正确设置了 php.ini,但是在 Symfony 项目中快速执行 phpinfo() 表明它使用的是旧的预安装版本 php (5.3) 而不是新版本。

如果我在终端输入which php & php -v,它显示正在使用正确的新版本。

phpinfo() 显示

【问题讨论】:

    标签: macos apache symfony php


    【解决方案1】:

    今天我在更新 php 7.2 到 7.3 时遇到了与 Laravel 6 要求相同的问题。这是我的解决方案。

    1. 在“/etc/apache2/http.conf”中打开您的 httpd.conf 文件
    2. 搜索(Ctrl + w)“LoadModule php”
    3. 取消注释该行
    4. 用“sudo apachectl restart”重启你的apache

    然后,您在本地 Web 服务器 (apache2) 中的 php 版本将被更新

    【讨论】:

      【解决方案2】:

      Apache 不知道 PHP 的 homebrew 版本(即/usr/bin/php)。您在命令行上看到它是因为您可能已经修改了您的 PATH(即 /usr/local/bin/php)。

      你可以在你的 httpd.conf 文件中修改它。

      我不是 homebrew 或其他软件包库的粉丝。主要是因为 Mac OS X 是在 Unix 之上构建的。此外,除 MySQL 之外的所有设备都是本地安装的。这是一篇关于installing Apache, MySQL, and PHP on Mac OS X的文章。

      免责声明:那篇文章是我写的。

      【讨论】:

      • 我没有太多深入的计算知识,基于 Unix 的系统中的包库有什么问题:S?您的指南的唯一问题是它没有向您展示如何升级到最新的 php :(
      • 我也不是,但我喜欢学习。这可能是我自己安装它的原因。另外,根据我的经验,包管理器迟早会失败。与任何其他软件包类似,您始终可以自己下载和编译最新版本的 PHP。 :)
      【解决方案3】:

      您是否遵循警告中提供的所有说明?

      运行brew info php54 再次查看它们。

      尤其是这一行:

      要在 Apache 中启用 PHP,请将以下内容添加到 httpd.conf 并重新启动 Apache
      LoadModule php5_module /usr/local/Cellar/php54/5.4.8/libexec/apache2/libphp5.so

      【讨论】:

      • + 用于回答具体的 HomeBrew 问题。
      • 啊,我取消了默认行的注释,而不是在安装时坚持自制软件给你的行,谢谢:D
      • 如果您使用“Server.app”和“Websites”,请考虑编辑以下 /Library/Server/Web/Config/apache2/httpd_server_app.conf 以便在需要时使用您制作的 php……您可以然后通过禁用“网站”轻松回滚到正常使用如果你想玩“默认读取/写入字符串数组”,还可以查看 /System/Library/LaunchDaemons/org.apache.httpd.plist
      猜你喜欢
      • 2016-10-03
      • 2012-06-07
      • 1970-01-01
      • 2015-09-08
      • 2012-04-07
      • 1970-01-01
      • 1970-01-01
      • 2014-02-13
      相关资源
      最近更新 更多