• 请不要在回答技术问题时复制粘贴 AI 生成的内容
edwardhodges
V2EX  ›  程序员

想做个小 PHP 网站,好久不写了。大家现在开发 PHP 环境都是怎么做的?

  •  
  •   edwardhodges · Sep 6, 2023 · 6396 views
    This topic created in 1159 days ago, the information mentioned may be changed or developed.

    本地 lemp 环境,然后做好了再推送代码到服务器上。还是直接在远处开发服务器上面搞,修改一些自动推送到远程服务器,可以看到线上效果?

    49 replies  •  2023-09-08 00:51:21 +08:00
    babyoung
    babyoung
    Sep 6, 2023
    1
    Linux 的话宝塔或者 oneinstack 吧,简单易用
    BG7ZAG
    BG7ZAG
    Sep 6, 2023
    2
    线上用楼上说的,本地用小皮,或者 docker
    ieliwb
    ieliwb
    Sep 6, 2023
    3
    edwardhodges
    edwardhodges
    OP
    Sep 6, 2023
    4
    服务器直接用了宝塔,当作开发服务器。本地代码保存后直接更新到远程服务器的插件用 ftp 插件?
    Light3
    Light3
    Sep 6, 2023
    5
    如果本地环境不凑手 而且线上也没人看的话
    直接 ftp 往上传 把服务器当测试服务器就行..
    最后写完了 找个 git 推一下 完事..
    BeforeTooLate
    BeforeTooLate
    Sep 6, 2023
    6
    lnmp.org + beyondcompare
    putyy
    putyy
    Sep 6, 2023
    7
    @edwardhodges phpstorm 边改边传
    edwardhodges
    edwardhodges
    OP
    Sep 6, 2023
    8
    用 vscode 写 php 不知道怎么样
    @putyy
    dzdh
    dzdh
    Sep 6, 2023
    9
    ssh git hook pull

    www.xxx, dev.xxx(nginx authbasic)
    brader
    brader
    Sep 6, 2023❤️2
    10
    老 PHP 告诉你,你肯定要有本地环境啊,不要把线上当成你 debug 的场子。
    如果你是 win 电脑,那你用 phpstudy2018 就行了,上面人说的环境我几乎都折腾过,最后还是回到这个舒服简单。
    然后关于更新线上代码,小项目你没必要搞那么复杂,比如你用的是码云的话,你配置一个 WebHooks 就可以达到 push 代码后自动更新部署了
    jiannei
    jiannei
    Sep 6, 2023
    11
    可以了解下 [deployer]( https://github.com/deployphp/deployer)
    token10086
    token10086
    Sep 6, 2023
    12
    javalaw2010
    javalaw2010
    Sep 6, 2023
    13
    wsl2+docker+phpstorm ,laradock 直接开搞。
    nevergotit
    nevergotit
    Sep 6, 2023
    14
    我现在 PHP 开发环境在我的轻量服务器上(非生产环境),用的宝塔搭的环境。
    使用 vscode remote 开发,感觉和本地没什么差别
    hansomeneil
    hansomeneil
    Sep 6, 2023
    15
    代码在 github 托管,通过 github actions 实现每次本地推送到远端后,自动打包部署到指定服务器
    putyy
    putyy
    Sep 6, 2023
    16
    @edwardhodges vscode 没用过两次 phpstorm 用了五六年了 已经改不掉了,环境的话都可以 自己项目怎么方便怎么来
    hansomeneil
    hansomeneil
    Sep 6, 2023
    17
    @hansomeneil 我是觉得远程搞不太方便,不如本地开发调试,而且我习惯把个人项目放 github ,不想开源的就设为 private ,刚好 github actions 可以做一些自动化的工作,用起来感觉很方便
    edwardhodges
    edwardhodges
    OP
    Sep 6, 2023
    18
    @nevergotit vscode remote 怎么搞?
    edwardhodges
    edwardhodges
    OP
    Sep 6, 2023
    19
    用 vscode remote 连接成功了,确实香,跟本地没有差别。再把 git 设置好就完美了。
    liuhy0927
    liuhy0927
    Sep 6, 2023
    20
    自己一个人的话,vscode sftp 很方便
    nevergotit
    nevergotit
    Sep 6, 2023
    21
    @edwardhodges 搞的还蛮快的
    远程的优点在于开发调试会非常的方便,推荐搭配上一个备过案的域名,以及做好 https
    edwardhodges
    edwardhodges
    OP
    Sep 6, 2023
    22
    @nevergotit 现在有个麻烦的问题,权限配置问题,上传和修改不了文件。站点是在 www 用户下面的,但是 www 用户又不能登录 ssh ,你那边怎么搞的
    nevergotit
    nevergotit
    Sep 6, 2023
    23
    @edwardhodges 服务器给个权限呗,我 remote 使用的是 www
    simerpc
    simerpc
    Sep 6, 2023
    24
    vscode remote 有个缺点。代码量大,类似语法、美化、扫描插件装太多的话,服务器负载会很高导致卡死。
    -- 来自之前被一个花括号美化插件整崩服务器的过来人经验。
    cyndihuifei
    cyndihuifei
    Sep 6, 2023
    25
    安装好 docker 之后,Laravel 项目创建好像就是一个命令的事情
    ksc010
    ksc010
    Sep 6, 2023
    26
    vscode 有插件 sftp 可以通过 ssh 上传代码
    之前我写过一个 python 脚本 ,可以一键同步修改过的文件到服务器(通过 ftp 或者 sftp )
    wonderfulcxm
    wonderfulcxm
    Sep 6, 2023
    27
    @simerpc 是啊,这玩意的负载惊人的高。
    edwardhodges
    edwardhodges
    OP
    Sep 6, 2023
    28
    @nevergotit 可以上传文件了,最后一步,你那边怎么用 git 进行提交的,vscode remote 的时候是否可以直接在 vscode 上面进行呀,还是需要用命令行进行提交?
    mingl0280
    mingl0280
    Sep 6, 2023 via Android
    29
    @edwardhodges PHPStorm+ssh 远程同步
    zengzizhao
    zengzizhao
    Sep 6, 2023
    30
    “ 本地 lemp 环境”
    lemp 中的 e 是什么?
    dream4ever
    dream4ever
    Sep 6, 2023
    31
    @BeforeTooLate 好歹上个 git 吧大兄弟😂
    qiqi669
    qiqi669
    Sep 6, 2023
    32
    压缩 zip ,手动上传解压。
    veni2023
    veni2023
    Sep 6, 2023
    33
    docker 更方便点,线上线下一个环境,搭建也简单
    zh3256
    zh3256
    Sep 6, 2023
    34
    @edwardhodges 在服务器上 git init --bare 创建一个仓库作为 remote, 然后项目目录使用这个 remote, 本地也用这个 remote, 更新代码的方式就是本地 push, 远程 pull
    Track3
    Track3
    Sep 6, 2023 via Android
    35
    @zengzizhao 应该是指 nginx 吧,因为 nginx 读音是 engine X
    zengzizhao
    zengzizhao
    Sep 6, 2023
    36
    @Track3 #35 通常不是 lnmp 这样吗
    zzzkkk
    zzzkkk
    Sep 6, 2023 via Android
    37
    有没有人喜欢用 cpanel 类似的在测试服务器写代码 只有一个开发的情况
    edwardhodges
    edwardhodges
    OP
    Sep 6, 2023
    38
    环境最终搞定,感谢大家。我用了宝塔放在线上,然后 vscode remote 远程连接,服务器上面安装 git ,配置远程 git 到 GitHub 。vscode 很强大,配置完同步后可以使用 vscode 上面的 git 图形化管理工具。稍微麻烦点的地方就是需要授予 www 用户的登录权限,不然 vscode 远程登录后无法提交,无法更新代码。
    c466934322
    c466934322
    Sep 6, 2023
    39
    @edwardhodges 最终你搞了一个最蛋疼的做法,看似舒服,实则是真舒服。哈哈哈。

    好了回复点正经的,看你的聊天,确实是不怎么用 php 的,推荐本地小皮,上线上的可以手动 ssh 拉代码,或者 ftp 。

    不要远程线上,不然你的任何骚操作都将导致你的线上挂壁,并且任何追踪操作都将非常蛋疼,尤其是网络不好的时候
    fox0001
    fox0001
    Sep 7, 2023 via Android
    40
    docker 省事
    edwardhodges
    edwardhodges
    OP
    Sep 7, 2023
    41
    @c466934322 哈哈,确实。上次写 php 项目还是十几年前。不过今时不同往日了,感觉跟以前完全不一样了。你说的我可以后面再折腾折腾。现在我的远程服务器也是一个开发服务器,不是生产服务器,我的想法是只要保证代码正常提交到仓库,数据库备份,其他随便折腾了。还有个好处就是大家能随时看到线上效果,有些需求邮件验证之类的,本地环境也没法搞,就先这么弄了。本来折腾了几个 docker ,结果项目代码太老,php5.3 的我的 m1 处理器的电脑一时找不到对应的版本,麻烦的就不折腾了。
    BeforeTooLate
    BeforeTooLate
    Sep 7, 2023
    42
    @dream4ever 上来干啥,一个人做小 php 网站,哈哈,怎么方便怎么来。
    不过最好 OP 选宝塔了,我就不多说什么了。
    dream4ever
    dream4ever
    Sep 7, 2023
    43
    @BeforeTooLate #42 没有代码版本管理工具,最后不方便的只会是自己,不过这种事情也说服不了别人,如人饮水,冷暖自知。
    BeforeTooLate
    BeforeTooLate
    Sep 7, 2023
    44
    @dream4ever 你是对的,我是基于 OP 一个玩玩性质,没考虑这个网站频繁更新代码。不过你是对的,一开始就正规总不会吃亏。
    2324
    2324
    Sep 7, 2023
    45
    lemp 的 e 是什么?我只知道 lamp
    zhuangjia
    zhuangjia
    Sep 7, 2023
    46
    #45 @2324 搜了一下,就是 lnmp 。E 表示的是 Nginx ,这个 E 取的是 Nginx 的读音( Engine X )。
    dream4ever
    dream4ever
    Sep 7, 2023
    47
    @BeforeTooLate #44 我也写了若干年代码了,现在发现没有 git ,再小的项目久了都会乱七八糟,都是踩坑的经验🤣
    edwardhodges
    edwardhodges
    OP
    Sep 7, 2023
    48
    看你们讨论,所有的项目必须有代码版本控制呀,不然开发完全没有安全感。不管是本地环境还是直接在服务器搞,代码管理是必须的,数据库经常备份,最好异地备份。万一挂了哪怕服务器销毁了,都可以简单重新搭建起来。
    JFZ
    JFZ
    Sep 8, 2023
    49
    WSL
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1411 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 10:58 · PVG 18:58 · LAX 02:58 · JFK 05:58
    ♥ Do have faith in what you're doing.