Mac 下如何搭建 PHP 开发环境?
回复内容:
装个homestead是最简单的Laravel Homestead
homestead是laravel提供给开发者的一个vagrant环境,当然用来做其他php框架或者原生php代码的服务器都很适合,与本机环境无关,可以和virtualhost 共享目录,包括nginx,redis,mysql,memcache等服务都帮你装好了。
以目前来看,还是用vagrant或者docker之类的架设服务最好,在mac上虽然自带apache和php,但每次mac osx升级都会自动升级php和apache,听起来很好是不是,但实际上每次都是噩梦,我在本机php安装了一些额外模块,升级的时候全给抹了,php.ini里的设置全都还原了(当然升级操作系统前的php.ini系统帮你改名备份了),apache的设置也还原了,于是又要把所有的用到的php扩展安装一次。
而且在本机上自己配环境不利于团队开发,每个人的开发环境php、mysql等版本都有细微差别,包括操作系统linux下和windows下的mysql版本不同处理的结果也有细微不同,我就遇到过很多次这样的坑,所以还是采用vagrant的虚拟host吧,只要配置好一份环境,可以把vhost当成vagrant的box导出,分发给团队里的其他人,这样所有人都保持在一个环境下工作,无论他本机是mac还是windows。这样甚至好过在公司里架设一个开发服务器,每个人互不影响,每个环境都是一致而且独立的,不在办公室办公的时候也不依赖于内网的开发服务器才能干活(当然,我反对任何形式的加班) http://dancewithnet.com/2010/05/09/run-apache-php-mysql-in-mac-os-x/,这个上面写的挺不错的,我已经搞定了 mac上面其实比windows做开发省心很多了,其实只需要下个mysql就行了,最重要的是mac上面的linux命令用起来比window那些蹩脚的命令爽太多 如果你是新手,入门 php 开发的话,建议采用 homebrew 安装
这样可以减少很多编译引发的问题,减少配置环境的流程,可以最大程度的避免自己因配置环境不成功而失去开发热情以及对学习的懈怠
中文参考文档:[php] 在mac下使用 Homebrew 配置 Nginx、php、Mysql 开发环境
英文参考文档:Install Nginx, PHP-FPM, MySQL and phpMyAdmin on OS X Mavericks or Yosemite 来吧,今天刚好自己要试试,就觉得自己写一下。
之前用nginx+liunx多一些,所以mac自带的apache基本上对我没什么用,所以果断打算装虚拟机跑liunx然后在安装环境。
你需要:
VirtualBox+Vagrant+centos(或者别的liunx镜像)+PHP环境安装的东西
基本上就是这样,virtualbox是号称最好的免费虚拟机,vagrant是用来安装部署虚拟开发环境的。别的不用说了。
为毛用这个呢,因为这个简直是开发神器啊!!
通过Vagrant封装一个Linux的开发环境分发给团队成员。成员可以在自己喜欢的桌面系统(Mac/Windows/Linux)上开发程序,代码却能统一在封装好的环境里运行,非常霸气。
来吧,下载virtualbox:
Downloads – Oracle VM VirtualBox

下载vagrant
Download - Vagrant by HashiCorp

A list of base boxes for Vagrant

安装什么的就一步一步来就好了


安装好了之后再终端添加centos的镜像
假设你下载的box的目录是 ~/centos.box
在终端输入 $ vagrant box add centos65 ~/centos65.box
add后面的centos65是你的命名的box的名字

初始化开发环境
创建一个开发目录(比如:~/workspace),你也可以使用已有的目录,切换到开发目录里,用 centos65 镜像初始化当前目录的环境:
$ cd ~/workspace # 切换目录 $ vagrant init centos65 # 初始化 $ vagrant up # 启动环境
atom 编写代码
开始学习时,只需要命令行运行php hello.php
或用php 自带web server
php -S 0.0.0.0:8090
或
php -S 127.0.0.1:8090 vagrant+virtualBox+centos Mac 下快速搭建php环境之集成软件推荐 可以去看看这篇文章,我个人建议最好不用系统自带的php环境。我使用了XMAPP 、AMPPS 、MAMP PRO(收费,可以团购),做了对比,还是MAMP PRO最方便,最好操作.定制性也最好.
=========
update:2015-11-18 21:56:58
自动发现了vagrant+box 这个神奇的组合之后,果断推荐Mac的童鞋使用
使用教程:
Go-in-Action/01.2.md at master · astaxie/Go-in-Action · GitHub 吐血回答这个问题。个人感觉自己弄真的非常麻烦,从刚开始学的时候配iis到后来配apache,到后来开始用集成环境,真心觉得,如果是学习和测试,那么集成环境无疑在开始的时候方便太多太多了。
php环境,windows上推荐wamp,好用,用了3年,后来换了mac,一开始用了xampp,这个真心蛋疼,一开始还好,用了半个月,但是某次重启后,报一个 must be a document (具体不记得了)真心操蛋,有说是selinux问题的,反正无论如何无法解决。 后来换mamp了,使用还可以。 VirtualBox + Vagrant
利用虚拟机,安装一个linux 系统,环境搭建在 Linux 系统中。
安装手册:VirtualBox + Vagrant

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Alipay Php ...

L'article traite de la liaison statique tardive (LSB) dans PHP, introduite dans PHP 5.3, permettant une résolution d'exécution de la méthode statique nécessite un héritage plus flexible. Problème main: LSB vs polymorphisme traditionnel; Applications pratiques de LSB et perfo potentiel

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Le détournement de la session peut être réalisé via les étapes suivantes: 1. Obtenez l'ID de session, 2. Utilisez l'ID de session, 3. Gardez la session active. Les méthodes pour empêcher le détournement de la session en PHP incluent: 1. Utilisez la fonction Session_RegeReate_id () pour régénérer l'ID de session, 2. Stocker les données de session via la base de données, 3. Assurez-vous que toutes les données de session sont transmises via HTTPS.

L'application du principe solide dans le développement de PHP comprend: 1. Principe de responsabilité unique (SRP): Chaque classe n'est responsable d'une seule fonction. 2. Principe ouvert et ferme (OCP): les changements sont réalisés par extension plutôt que par modification. 3. Principe de substitution de Lisch (LSP): les sous-classes peuvent remplacer les classes de base sans affecter la précision du programme. 4. Principe d'isolement d'interface (ISP): utilisez des interfaces à grain fin pour éviter les dépendances et les méthodes inutilisées. 5. Principe d'inversion de dépendance (DIP): les modules élevés et de bas niveau reposent sur l'abstraction et sont mis en œuvre par injection de dépendance.

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système. Chaque fois que le système redémarre, nous devons exécuter la commande suivante pour modifier les autorisations d'UnixSocket: sudo ...

Comment déboguer le mode CLI dans phpstorm? Lors du développement avec PHPStorm, nous devons parfois déboguer PHP en mode interface de ligne de commande (CLI) ...

Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.
