Symfony要想在web服务器中正常运行需要进行简单的配置:
Apache2
代码如下 | 复制代码 |
ServerName www.111com.net ServerAlias www.111com.net DocumentRoot /data/www/www.111com.net /web/web ErrorLog /data/www/www.111com.net /logs/error.log CustomLog /data/www/www.111com.net /logs/access.log combined DirectoryIndex index.php index.html Options +Includes -Indexes AllowOverride All Require all granted php_admin_value open_basedir /data/www/www.111com.net /web:/tmp |
如果你的Apache版本不是2.4,那么需要将 Require all granted 替换为:
Apache
Order allow,deny
Allow from All
Nginx
目前我还没有在Nginx下运行Symfony2.4,所以这里就不贴Nginx的配置了。哪天我配置Nginx环境的话,会在这里贴出来。
以下配置以example.com作为域名,Nginx站点根目录指向Symfony2应用的web文件夹。PHP以FastCGI方式运行。
提醒 此配置仅允许web目录下app.php和app_dev.php两个入口文件以PHP脚本方式运行,web目录下存在的其他PHP文件如果被访问,将被用户下载。
代码如下 | 复制代码 |
server { server_name example.com; # 域名 error_log /var/log/nginx/symfony2.error.log; # 如果URL中包含app.php,则转发为伪静态格式 location / { location @rewriteapp { # 此段为将PHP请求转交给FastCGI服务,PHP-FPM是非常流行的选项。 |
以下为HTTPS配置:
代码如下 | 复制代码 |
server { server_name example.com; ssl on; error_log /var/log/nginx/symfony2.error.log; rewrite ^/app\.php/?(.*)$ /$1 permanent; location / { location @rewriteapp { location ~ ^/(app|app_dev)\.php(/|$) { |