mac nginx ne prend pas en charge PHP car PHP n'est pas configuré. La solution est la suivante : 1. Utilisez homebrew pour installer nginx ; 2. Définissez les droits d'administrateur pour nginx ; 3. Exécutez la commande "brew tap josegonzalez/homebrew-php" pour installer. PHP.
L'environnement d'exploitation de cet article : système macOS10.15, version PHP5.6, ordinateur MacBook Air 2019
Que dois-je faire si mac nginx ne prend pas en charge php ?
Mac a installé Nginx et configuré PHP
J'utilisais Apache et PHP pour travailler ensemble avant
Parce que PHP est autodidacte, beaucoup de gens ne le comprennent pas (TP n'a pas vu grand chose, et c'est inutile)
Récemment, j'ai pensé Utiliser nginx et php pour écrire quelque chose ensemble
Parce que je l'ai installé sur mon ordinateur et que j'ai rencontré quelques problèmes au cours du processus, je vais l'enregistrer maintenant pendant que j'ai encore quelques impressions si je développe en utilisant nginx et php. l'avenir, je peux m'y référer
1. Lorsque vous êtes sous Linux, utilisez yum pour installer le logiciel Si vous êtes sur Mac, vous verrez un homebrew
2 Ensuite, nous utilisons homebrew pour installer nginx
Le. l'installation se termine avec une seule commande :
brew install nginx
Ensuite, nous configurons les autorisations
1》Donner Définir les autorisations d'administrateur pour nginx : Si vous ne définissez pas d'autorisations d'administrateur, le port 80 ne peut pas être surveillé
#这里的目录根据你实际安装的目录来填写,默认是这个目录,不同的只是nginx的版本号而已 sudo chown root:wheel /usr/local/Cellar/nginx/1.10.1/bin/nginx sudo chmod u+s /usr/local/Cellar/nginx/1.10.1/bin/nginx
2》Ajouter un contrôle de démarrage launchctl
mkdir -p ~/Library/LaunchAgents cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
3》Exécutez nginx
sudo nginx #打开 nginx nginx -s reload|reopen|stop|quit #重新加载配置|重启|停止|退出 nginx nginx -t #测试配置是否有语法错误
3. Installez PHP
Parce que Brew n'a pas de package php par défaut, nous exécutons donc d'abord la commande suivante
brew tap homebrew/dupes brew tap josegonzalez/homebrew-php
Il existe de nombreuses versions de php, nous pouvons utiliser Brew Search php pour afficher
Mon ordinateur est php5.6, mais j'ai utilisé Brew pour l'installer, ce qui n'affectera pas le Mac Oui, car il sera installé sous /usr/local/Cellar
brew install php56
Une fois l'installation terminée, pour que le. système pour utiliser la version que je viens d'installer, elle doit être configurée
sudo vim ~/.bash_profile #在这个文件最后添加下列语句: export PATH="$(brew --prefix php56)/bin:$PATH" #保存文件后,source下这个文件,使刚刚添加的环境变量生效 source ~/.bash_profile
Une fois terminé, vous pouvez utiliser php -v dans le terminal Vérifiez la version, c'est la version que je viens d'installer
Ajoutez le contrôle de démarrage launchctl
mkdir -p ~/Library/LaunchAgents cp /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
Le le chemin du fichier de configuration php est le suivant
/usr/local/etc/php/5.6/php.ini /usr/local/etc/php/5.6/php-fpm.conf
Après avoir terminé cela, je suis allé le tester directement en utilisant php
Mais le service nginx est normal, mais php ne s'affiche tout simplement pas
La raison est que je le suis aussi impatient, nginx n'a pas encore configuré php
Le chemin du fichier de configuration nginx est le suivant
/usr/local/etc/nginx/nginx.conf
Après l'avoir ouvert, trouvez le morceau suivant
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #}
Décommentez-le, redémarrez nginx et ça ne marche toujours pas, trouvez-le La raison c'est parce que la phrase [/scripts$fastcgi_script_name;] devrait être [$document_root$fastcgi_script_name;]
Ensuite, redémarrez nginx et vous pourrez accéder à php
Je me souviens que j'ai rencontré quelques petits problèmes lorsque j'ai démarré php-fpm , le contenu de le problème est affiché dans le terminal
Par exemple : [/private/etc/php-fpm.conf] Ce fichier n'existe pas. En fait, il existe un fichier avec le suffixe [.default] dans le même répertoire We. mettez ceci Copiez-le simplement et remplacez-le par php-fpm.conf
Si vous l'exécutez plus tard, le chemin error_log peut être incorrect. La valeur par défaut est de se connecter sous [/usr/var], mais le chemin n'y est pas trouvé. Il y a deux solutions.
1》S'il y a un dossier qui n'existe pas, nous le créerons
2》Changez le fichier php-fpm.conf que nous venons de copier et trouvons un endroit similaire au suivant
[global] ; Pid file ; Note: the default prefix is /usr/var ; Default Value: none pid = /usr/local/var/php-fpm/run/php-fpm.pid ; Error log file ; If it's set to "syslog", log is sent to syslogd instead of being written ; in a local file. ; Note: the default prefix is /usr/var ; Default Value: log/php-fpm.log error_log = /usr/local/var/php-fpm/log/php-fpm.log
pid et error_log ont tous deux été commentés avant, nous le modifions simplement vers un emplacement qui vous convient
S'il n'y a pas d'autres problèmes particuliers maintenant, nginx et php peuvent fonctionner normalement.
Nous pouvons configurer notre propre nom de domaine d'accès en modifiant les fichiers nginx.conf et hosts
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!