phpinfo发送空响应(MacPorts)

时间:2016-10-06 18:40:46

标签: php apache macports macos-sierra

当我将phpinfo();添加到正在运行的站点的index.php(甚至是空白页面)时,服务器会发送一个空响应。相关信息:

  • 如果我删除phpinfo();页面的行为符合预期。这些站点也遵守Apache重定向指令。
  • 我将MacPorts用于PHP和Apache
  • 我最近升级到了最新的macOS和最新版本的MacPorts。
  • 我已经sudo port upgrade outdated
  • phpinfo在命令行上工作(不足为奇)。
  • php.ini列表中的phpinfo文件不包含disable_functions

1 个答案:

答案 0 :(得分:0)

事实证明这是PHP附魔库的问题。 There is already a bug reported related to this.

用户实际创建了一个特别有用的脚本,我在下面复制过:

#!/usr/bin/env bash

# list installed, don't try to deactivate php56-apache2handler|php56-curl because of dependencies
for thePort in $( port echo installed | awk '{if($1~'/^php56-/') print $1 ;}' | grep -v -E 'php56-apache2handler|php56-curl' ) ; do
    # try do deactivate a module
    echo -n "Test without $thePort : " 
    port deactivate $thePort
    if [ ! "$?" -eq "0" ] ; then
        echo "Error for deactivate"
        exit 1
    fi
    # began tests 
    /opt/local/bin/php -i &> /dev/null
    if [ ! "$?" -eq "0" ] ; then
        echo "ERROR php -i"
    else
        echo "OK"
        echo -n "Web test : "
        port unload apache2
        sleep 2
        port load apache2
        sleep 1
        # The address of the web server; <?php phpinfo(); in the file
        curl http://127.0.0.1/info.php &> ~/tmpCurlOut
        # If the curl command exits with an error, then we've 
        if [ ! "$?" -eq "0" ] ; then
            echo "web test past"
        else
            echo "Faulty module is $thePort"
            exit 1      
        fi      
    fi
    # on reactive
    port activate $thePort
    if [ ! "$?" -eq "0" ] ; then
        echo "Error for activate"
        exit 1
    fi
done