繁体   English   中英

phpinfo()在Mac OS-X Capitan apache2服务器上不起作用

[英]phpinfo() not working on mac OS-X Capitan apache2 server

我正在使用OS-X CapitanApache/2.4.18 (Unix) 我下面有phpinfo.php文件

 <?php phpinfo(); ?>

当我运行命令php phpinfo.php ,它将正确显示phpinfo() 这无法从浏览器正确显示,而是显示如下代码

 <?php phpinfo(); ?>

我对/etc/apache2/httpd.conf进行了以下更改

  1. 以下行未注释

    LoadModule rewrite_module libexec/apache2/mod_rewrite.so LoadModule php5_module libexec/apache2/libphp5.so

  2. <IfModule mime_module>标记内的MIME Type添加到上述httpd.conf文件中

    AddType application/x-httpd-php .php

  3. 确保libexec/apache2/mod_rewrite.so存在

  4. php -v给出以下结果

PHP: parse error in /etc/php.ini on line 107 PHP 5.5.31 (cli) (built: Feb 20 2016 20:33:10) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

  1. sudo cp /etc/php.ini.default /etc/php.ini

  2. 使用命令重启apache2

    sudo apachectl restart

仍然显示php代码<?php phpinfo(); ?> <?php phpinfo(); ?>使用URL从浏览器进行访问时, http://localhost/phpinfo.php

我什至尝试将上面的代码包含在<html><body>在这种情况下, browser screen was blank

我正在为主机定义以下directory

DocumentRoot "/var/www/html" <Directory "/var/www/html"> Options Indexes FollowSymLinks Order allow,deny Allow from all AllowOverride All </Directory>

通过启用和配置虚拟主机解决了该问题,但是我仍然认为并没有绝对需要使PHP工作的虚拟主机。 Thoughts welcome on this

然后,我意识到我还必须启用和配置虚拟主机。 我按照以下步骤

  1. /etc/apache2/httpd.conf以下行取消注释

LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so

这将允许在apache2定义virtual hosts

  1. 编辑文件/private/etc/apache2/extra/httpd-vhosts.conf并声明虚拟主机,如下所示,注释任何默认的虚拟主机声明

    <VirtualHost *:80> DocumentRoot "/var/www/html" ServerName myserver ServerAlias myserver-pro ErrorLog "/private/var/log/apache2/myserver-error_log" CustomLog "/private/var/log/apache2/myserver-access_log" common </VirtualHost>

知道此文件默认包含在/etc/apache2/httpd.conf使用下面的行。

Include /private/etc/apache2/extra/httpd-vhosts.conf

和来自浏览器的localhost/phpinfo.php很棒。

遇到类似的问题,但Mac OS的Sierra 10.13.4较高。 只需在apache中启用php:

sudo nvim /etc/apache2/httpd.conf

取消注释以下行

#LoadModule php7_module libexec/apache2/libphp7.so

然后重新启动Apache

sudo apachectl restart

检查php中是否启用了PHP,查看启用了mod的文件夹并搜索PHP。

确保使用launchctl停止所有HTTP服务,然后检查“活动监视器”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM