mac环境composer新建php的symfony项目并用nginx配置

简介: mac环境composer新建php的symfony项目并用nginx配置

本文使用的版本

PHP 5.5.36

symfony 2.8

composer 1.6.5


关于安装symfony 2.8, 用官网的教程没有成功

https://github.com/symfony/symfony-installer

一直报错:

curl: (35) Server aborted the SSL handshake

采用composer成功了


新建symfony项目

1、下载composer

https://getcomposer.org/download/


2、安装composer

mv composer.phar /usr/local/bin/composer # 成为全域指令
chmod +x /usr/local/bin/composer   # 赋予可执行

3、修改 composer 的全局配置文件更换国内镜像

composer config -g repo.packagist composer https://packagist.phpcomposer.com

4、新建项目symfony 指定版本v2.8


composer create-project symfony/framework-standard-edition my_project_name "2.8.*"

命令行中出现的信息一般默认即可


如果出现时区错误timezone

修改配置文件/private/etc/php.ini

[Date]
date.timezone = Asia/Shanghai

配置nginx

1、全局配置

修改/usr/local/etc/nginx/nginx.conf


user  nobody;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    client_max_body_size 20M;
    include conf.d/*.conf; 
}

说明:

其他都注释掉!

include 是需要加载配置文件的路径


2、项目配置

在配置文件路径下/usr/local/etc/nginx新建conf.d/mywebsite.conf

conf.d对应上面在nginx.conf 配置的include项


log_format logformat '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
server {
    listen       8080;
    server_name  localhost;
    index app.php;
    root /usr/local/var/www/my_project_name/web;
    location / {
        if (!-e $request_filename){
            rewrite ^/(.+)$ /app.php/$1 last;
        }
        client_max_body_size 20M;
    }
    location ~ ^/(app|app_dev)\.php(/|$) {
        fastcgi_pass   127.0.0.1:9999;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param  HTTPS              off;
        client_max_body_size 20M;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires 1h;
        client_max_body_size 20M;
    }
    access_log /usr/local/var/www/my_project_name/logs/mywebsite.log logformat;
    error_log /usr/local/var/www/my_project_name/logs/mywebsite.error_log;
}

说明

root 刚刚新建项目的路径,指向web目录

access_log,error_log日志文件,需要手动新建,如果遇到权限问题


sudo chown -R $(whoami) /usr/local/var/www/

3、修改完配置文件之后重启nginx、php-fpm


$ brew services reload nginx
$ ps aux|grep php-fpm  # 看看还有哪些进程,都杀掉
$ kill <pid>
$ php-fpm  #启动
$ nginx -t # 看下配置是否正常

访问:http://localhost:8080/

image.png

相关文章
|
4月前
|
负载均衡 应用服务中间件 nginx
Nginx配置与命令
Nginx 是一款高性能的 HTTP 和反向代理服务器,其配置文件灵活且功能强大。本文介绍了 Nginx 配置的基础结构和常用指令,包括全局块、Events 块、HTTP 块及 Server 块的配置方法,以及静态资源服务、反向代理、负载均衡、HTTPS 和 URL 重写等功能实现。此外,还提供了常用的 Nginx 命令操作,如启动、停止、重载配置和日志管理等,帮助用户高效管理和优化服务器性能。
|
2月前
|
JavaScript Linux PHP
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
115 3
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
|
2月前
|
应用服务中间件 网络安全 nginx
配置Nginx以支持Websocket连接的方法。
通过上述配置,Nginx将能够理解WebSocket协议的特殊要求,代理Websocket流量到合适的后端服务器。注意,Websocket并不是HTTP,尽管它最初是通过HTTP请求启动的连接升级,因此保证Nginx了解并能够妥善处理这种升级流程是关键。
478 10
|
2月前
|
PHP
Composer在PHP项目中的手动类自动加载策略
为了确保文件名和类名的一致性及其可预测性,类名通常应该与文件名相匹配,所有的类都应属于一个命名空间,并且目录结构应该反映命名空间的结构。如此一来,当新的类被创建时,它们会自动遵守已有的约定,从而无需修改自动加载逻辑,确保了代码的模块化和可管理性。
40 8
|
3月前
|
安全 应用服务中间件 网络安全
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
237 0
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
|
3月前
|
安全 API PHP
Composer在现代PHP项目中的进阶实践
简介:本文深入探讨PHP依赖管理工具Composer的核心功能与企业实践。首先介绍其如何通过`composer.json`实现声明式依赖管理,变革PHP生态;接着解析自动加载优化、版本策略(如`~`和`^`)及私有仓库集成等关键特性;然后分享CI/CD集成、多环境配置与性能优化技巧(如阿里云镜像加速)的企业级方案;最后提供常见问题排查方法,如内存不足和依赖冲突解决,助力开发者高效管理项目依赖。
77 3
|
3月前
|
JSON 前端开发 应用服务中间件
配置Nginx根据IP地址进行流量限制以及返回JSON格式数据的方案
最后,记得在任何生产环境部署之前,进行透彻测试以确保一切运转如预期。遵循这些战术,守卫你的网络城堡不再是难题。
184 3
|
6月前
|
Ubuntu Linux Shell
Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式
通过这个过程,用户不仅可以定制自己的桌面外观,还可以学习到更多关于 Linux 系统管理的知识,从而更好地掌握系统配置和主题管理的技巧。
732 12
|
6月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。