【问题标题】:phpStorm problems with php-cgiphp-cgi 的 phpStorm 问题
【发布时间】:2014-08-06 00:12:41
【问题描述】:

所以我最近更改为 ubuntu,我正在尝试再次设置我的环境,我设法安装了 LAMP、phpmyadmin 和 phpstorm。

但是当我尝试运行程序时,我无法从 phpStorm 运行 php 脚本,页面给了我“502 Bad gateway”错误,当我返回 phpStorm 时,它告诉我 php -cgi 未找到。

我试图解决这个问题,但找不到任何可靠的答案,我现在很困惑

我还成功添加了 php 解释器和 xDebug

【问题讨论】:

  • 1) 您要调试什么:您的脚本在 CLI 模式下还是通过浏览器(Web 脚本)? 2) 如果第 2 次 -- 您是否已经安装并运行了适当的 Web 服务器 (Apache/nginx/etc)?
  • 我安装了 apache,因为当我输入本地主机时它告诉我它可以工作,是的,我正在尝试在浏览器上调试它抱歉,当我发布这个问题时出现了一些迟到的反应跨度>
  • 我也在 phpsStorm 的控制台中获取输入
  • 请创建并正确配置 部署条目 (File | Settings | Deployment) 并将其标记为当前项目的默认值。一旦你这样做了——PhpStorm 将使用那个 URL(你的 Apache)来服务/调试你的网页。现在使用 PhpStorm 自己的简单 Web 服务器(在未配置部署时默认使用),如您所见,这需要以某种方式编译/配置 PHP(找不到更好的词来描述这一点)。它在大多数情况下都可以正常工作.. 但是有些人正面临像您一样的情况——这完全与 PHP 本身有关。
  • "我也在 phpsStorm 的控制台中获得输入" -- 你没有进行 PHP 调试 -- 截图显示你在 JavaScript 控制台允许的地方进行 JavaScript 调试您可以输入和执行命令(就像 Chrome/Firefox/etc 中的开发工具中的控制台)

标签: php phpstorm


【解决方案1】:

在 linux ubuntu 上

对于 PHP5:sudo apt-get install php5-cgi

对于 PHP7:sudo apt-get install php7.0-cgi

【讨论】:

  • 我在 Mac OS 上遇到了同样的问题。如何安装 php5-cgi ? (无法在 brew 上搜索)。查看更多link
  • PHP7: sudo apt-get install php7.0-cgi
【解决方案2】:

我遇到了同样的问题。用一个小 shell 脚本替换 /usr/bin/php5-cgi 后,我发现了那个错误

主机 'localhost' 有多个地址。你必须选择一个 明确!无法在端口上创建 FastCGI 侦听套接字 本地主机:56468

在 /etc/hosts 中评论 127.0.0.1 localhost 后,问题似乎解决了。 评论 IPv6 主机后,问题似乎解决了:

# The following lines are desirable for IPv6 capable hosts
# ::1     localhost ip6-localhost ip6-loopback
# ff02::1 ip6-allnodes
# ff02::2 ip6-allrouters

【讨论】:

    【解决方案3】:

    Mac 版:

    1. 安装 XAMPP(简单直接),它带有 apache 和 php 解释器

    2. 在phpstorm设置->php->解释器选择路径/Applications/XAMPP/bin/php

    3. phpstorm in settings -> build, ... -> Deployment add in place server, url root localhost

    更多信息可以在jetbrains网页上找到

    这帮助我解决了这个问题并通过单击 phpstorm 中的网络浏览器图标来运行 php。

    别忘了在 xampp 中打开 apache --> 管理服务器!)

    【讨论】:

    • 谢谢!我安装了 MAMP,并且能够使用位于 /Applications/MAMP/bin/php/php7.0.10/bin/php 的 php
    【解决方案4】:

    如果还没有安装 Homebrew :

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    

    现在,我们有了 Homebrew,通过在终端上输入以下内容来点击 php 存储库:

    brew tap josegonzalez/php
    brew tap homebrew/dupes
    

    检查 PHP 5.4 有哪些可用选项:

    brew options php54
    

    现在使用一些选项安装/构建 PHP 5.4(在您的情况下是带有 CGI 的 PHP-FPM):

    brew install php54 --with-fpm --with-debug --with-cgi --with-libmysql --with-homebrew-curl
    brew install fastcgi
    

    注意:如果你不打算使用 Apache 添加 --without-apache,如果你需要其他东西,只需检查选项并添加你需要的东西

    现在,通过在终端中输入以下内容来检查 PHP-FPM 是否启用:

    php-fpm -v
    

    如果你得到这个:

    PHP 5.4.24 (fpm-fcgi) 版权所有 (c)

    1997-2013 PHP Group Zend Engine v2.4.0,版权所有 (c) 1998-2013

    Zend 技术

    你像个老大一样用 FCGI 安装了 PHP..

    Found it Here

    【讨论】:

      【解决方案5】:

      基本上谁页面说要这样做。

      1. 从 php.net 下载解释器的东西哦 php。

      2. 进行安装

      3. 创建一个名为 newpath.txt 的文件并添加到其中

        PATH=~/custom/php5/bin:$PATH export PATH

      4. 键入 cat newpath.txt >> .profile

      我会制作一个 youtube 视频并上传。

      【讨论】:

        【解决方案6】:

        我之前也遇到过同样的问题,但是第一步是为您当前的版本安装正确的 PHP 版本,然后在启动 IDE 之前,请确保您已安装 php7.x-cgi 版本 打开终端输入

        sudo apt update && sudo apt install php7.x-cgi
        

        x替换为版本号,然后你需要配置你的IDE找到你的PHP安装目录的路径

        【讨论】:

          【解决方案7】:

          在 phpStorm 的“PHP-CGI 服务器”选项卡中,您会看到错误:

          /usr/bin/php-cgi -e -b localhost:52109
          Host 'localhost' has multiple addresses. You must choose one explicitly!
          Couldn't create FastCGI listen socket on port localhost:52109
          PHP-CGI Server terminated
          

          目前似乎没有任何修复此已知错误的方法:https://youtrack.jetbrains.com/issue/WI-24373 在 /etc/hosts(在 Linux 上)中注释掉 localhost 的 IPv4 或 IPv6 地址是一种解决方法。

          【讨论】:

            【解决方案8】:

            我也有这个问题。这取决于你想在你的 PhpStorm 中使用它作为解释器的 php 版本。

            此错误消息表明 PhpStorm 需要 CGI 二进制文件才能执行您的代码。

            我使用的是 Ubuntu 18.04,我使用的 PHP 版本是 7.2。

            您需要根据您的应用程序要求安装模块。因此,您可以使用以下命令在包存储库中搜索可用的 PHP 7 模块:

            sudo apt-cache search php7*
            

            现在您可以在存储库中看到所有可用的模块(也适用于 cgi)。现在您必须按照以下命令在系统上安装所需的 PHP 模块。通过使用包名称指定版本,确保为正确的 PHP 版本安装包。在不定义包版本的情况下,它将安装最新的包。例如。对我来说,我需要 php7.2-cgi :

             sudo apt install php7.2-cgi
            

            现在 cgi 已安装。您必须重新启动 PhpStorm 并再次对其进行测试。这对我来说很有用。

            【讨论】:

              猜你喜欢
              • 2016-04-25
              • 2015-07-28
              • 2013-02-15
              • 1970-01-01
              • 1970-01-01
              • 2018-05-20
              • 2015-03-02
              • 2017-04-24
              • 1970-01-01
              相关资源
              最近更新 更多