【问题标题】:PHP Symfony apps on OSX El Capitan apacheOSX El Capitan apache 上的 PHP Symfony 应用程序
【发布时间】:2016-06-24 20:57:43
【问题描述】:

我已经在 El Capitan (10.11.2) 上安装了 symfony_demo 应用程序

如果我按如下方式运行内置 PHP 服务器:

php app/console server:run 127.0.0.1:8111

演示应用程序位于 localhost:8111

但如果我通过 El Capitan 的内置 apache 实例访问应用程序(通过将其复制到我的 <user>/Sites 目录中),我只会得到一个目录列表。

请注意,我确实在 apache 上启用了 PHP,并且其他基于 PHP 的应用程序按照当前配置通过 apache 运行(例如 Joomla)。

我还需要什么 apache 配置?

附录:

我正在运行操作系统的服务器版本。我读到存在另一个 apache 配置文件:/Library/Server/Web/Config/apache2/httpd_server_app.conf 但是取消注释 vhosts .conf 和 .so 指令并通过此文件中的服务器应用程序重新启动“网站”对行为没有影响

【问题讨论】:

    标签: php macos apache symfony


    【解决方案1】:

    您需要取消注释 /etc/apache2/httpd.conf 中的几行。删除以下行前面的#(如果存在)(这些行位于文件的不同部分):

    LoadModule php5_module libexec/apache2/libphp5.so
    
    LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
    
    Include /private/etc/apache2/extra/httpd-vhosts.conf
    

    接下来,您可以编辑/etc/apache2/extra/httpd-vhosts.conf 来定义您的虚拟主机。例如,如果您的项目位于/Users/username/Sites/symfony(将“用户名”替换为您的用户名,将“symfony”替换为您的项目目录):

    <VirtualHost *:80>
        ServerName symfony.dev
    
        DocumentRoot "/Users/username/Sites/symfony/web/"
        <Directory "/Users/username/Sites/symfony/web/">
            AllowOverride All
            Order Allow,Deny
            Allow from All
        </Directory>
    </VirtualHost>
    

    在示例中,我使用了一个假域名symfony.dev。如果你想使用它,你需要将它添加到你的 /etc/hosts 文件中(在那里添加一个新行):

    127.0.0.1 symfony.dev
    

    更改apache的配置后不要忘记重启它:

    sudo /usr/sbin/apachectl restart
    

    您可能需要根据您的需要调整 vhost 配置。阅读more about configuring the web server in the Symfony documentation

    【讨论】:

    • 我也发现了那篇文章(在发布之前),我尝试了这种方法 - 但我只是在symfony.dev 获得了站点文件夹的目录列表 - 似乎 httpd-vhosts.conf 是尽管我进行了更改,但被完全忽略了。还有其他可能配置错误的地方吗?
    • 不确定您关注的是哪篇文章。我在这里列出的都是应该需要的。如果你得到一个列表,那么你错过了一个步骤。确保路径正确(注意 web 目录),并且启用了 php 模块。更改配置后不要忘记重新启动 apache。
    【解决方案2】:

    成功! 这里的关键信息是 OSX 的服务器版本有它自己的配置默认情况下禁用 .htaccess 重定向

    在服务器 > 网站 > 服务器网站(编辑)> 编辑高级设置 > “允许使用 .htaccess 文件覆盖”中找到设置后 重新启动网站,symfony 演示在http://localhost/symfony_demo/web/ 上运行良好

    n.b.:不需要虚拟主机 - 这只是一种方便

    【讨论】:

      猜你喜欢
      • 2015-12-29
      • 2016-06-24
      • 2016-01-27
      • 2017-04-20
      • 1970-01-01
      • 2016-02-05
      • 2016-09-09
      • 2017-01-14
      • 1970-01-01
      相关资源
      最近更新 更多