代码之家  ›  专栏  ›  技术社区  ›  eComEvo

运行的PHP版本错误,无法停止brew服务

  •  0
  • eComEvo  · 技术社区  · 5 年前

    有人知道我怎么能:

    1. 检查brew安装的php与Apache使用的php是否有区别?
    2. 让apache使用brew安装的php?

    0 回复  |  直到 10 年前
        1
  •  63
  •   mpj    12 年前

    你必须让你的Apache使用你刚刚下载的PHP。

    • 打开你的 httpd.conf (我的在 /etc/apache2/httpd.conf )查找加载PHP模块的行,例如:

      LoadModule php5_module path/to/php

    • 然后,指向brew为您安装的支持mcrypt的PHP。我的在这条路上。根据您安装的PHP版本,您的版本可能会有所不同。

      /usr/local/Cellar/php54/5.4.21/libexec/apache2/libphp5.so

    • 最后,您需要重新启动Apache服务器以加载新配置:

      sudo apachectl restart

        2
  •  55
  •   Kay V    5 年前

    根据自制php公式的贡献者。。。

    自制php公式的贡献者给出了以下说明。此处复制的确切说明将安装php7.4。替换您需要的php版本。

    (避免以“特殊”的方式实现你的目标;它们往往是有问题的。”官方的“方法”更有可能为您提供一个可预测的、可维护的设置。)

    $ brew search php // since php can be installed by homebrew but be missing from your PATH, review the list of php versions available through homebrew; a checkmark next to a version indicates one is installed
    $ brew install php@7.4
    $ echo 'export PATH="/usr/local/opt/php@7.4/bin:$PATH"' >> ~/.zshrc // add the alias to your path (issues you are using zsh, the default now for macOS); see comments output during installation
    $ source ~/. zshrc // reload . zshrc to use the new settings immediately
    

    公式的贡献者还提供了以下在Apache中启用PHP的说明:

    要在Apache中启用PHP,请将以下内容添加到httpd.conf并重新启动Apache:

       LoadModule php_module /usr/local/opt/php/lib/httpd/modules/libphp.so  
    
       <FilesMatch \.php$>  
           SetHandler application/x-httpd-php  
       </FilesMatch>`
    

    最后,检查DirectoryIndex includes index.php

       DirectoryIndex index.php index.html  
    

    php.ini和php-fpm.ini文件位于:

       /usr/local/etc/php/7.4/
    

    stdout 安装php时。或者在终端使用中 brew info php 或参观 Homebrew PHP formula page

        3
  •  33
  •   AnthonyT    12 年前

    由于我缺乏经验,还不能对stackoverflow发表评论,但补充上述答案是正确的。只需添加一条注释即可找到正确的路径:

    跑步:

    brew info php54
    

    或者您安装了哪个版本,它会显示路径:

    To enable PHP in Apache add the following to httpd.conf and restart Apache:
        LoadModule php5_module    /usr/local/opt/php54/libexec/apache2/libphp5.so
    
        4
  •  13
  •   Xeoncross    8 年前

    brew info php71
    

    Brew安装到 /usr/local/Cellar 因此,您可以将以下内容添加到 ~/.bash_alias ~/.profile .

    alias php7='/usr/local/Cellar/php71/7.1.10_21/bin/php'
    
        5
  •  7
  •   Mike    7 年前

    brew install php 目前安装PHP7.3,以下版本仅限keg

    通过将此添加到,可以为以下版本生成别名:

    ~/.剖面图

    alias php@5.6='$(brew --prefix php@5.6)/bin/php'
    alias php@7.0='$(brew --prefix php@7.0)/bin/php'
    alias php@7.1='$(brew --prefix php@7.1)/bin/php'
    alias php@7.2='$(brew --prefix php@7.2)/bin/php'
    

    ~/.bashrc

    source ~/.profile
    

    ~/.zshrc

    [[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'
    

    php@5.6 -v
    php@7.0 -v
    php@7.1 -v
    php@7.2 -v
    

    如果您使用composer,而您的项目中没有设置平台php,那么这将非常方便:

    ~/.剖面图

    alias composer@5.6='php@5.6 $(which composer)'
    alias composer@7.0='php@7.0 $(which composer)'
    alias composer@7.1='php@7.1 $(which composer)'
    alias composer@7.2='php@7.2 $(which composer)'
    

    alias artisan@5.6='php@5.6 artisan'
    alias artisan@7.0='php@7.0 artisan'
    alias artisan@7.1='php@7.1 artisan'
    alias artisan@7.2='php@7.2 artisan'
    
        6
  •  5
  •   echo    8 年前

    尝试: brew link php71 --force 使用brew特定的php版本。