在 mac 蒙特雷启用 php
Enable php on mac monterey
我尝试在 mac M1 monterey 上安装 php,但是这个简单的代码没有被解释:
<?php phpinfo(); ?>
我用 brew
安装了 php
brew install php
brew link php
我签署了 libphp 模块
codesign --sign "certificate" --force --keychain ~/Library/Keychains/ /opt/homebrew/Cellar/php/8.1.2/lib/httpd/modules/libphp.so
我应该改用动态 link 吗?
/opt/homebrew/opt/php/lib/httpd/modules/libphp.so
正在加载 apache2.conf 文件中的模块
LoadModule php_module /opt/homebrew/Cellar/php/8.1.2/lib/httpd/modules/libphp.so "certificate"
允许在 apache2.conf 文件中查看 php 页面
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
which php
的结果
/opt/homebrew/bin//php
这里的双斜线正常吗?
我可以访问我的 web 目录的 index.php 但是 php 仍然没有执行。
谢谢
正如我在评论中提到的,您可能已经完成了大部分步骤,但我发现本指南中提到了 PHP 的最后一步。这是 link:
https://wpbeaches.com/updating-to-php-versions-7-4-and-8-on-macos-12-monterey/
我还发现,当我开始使用自制 Apache 时,很多问题都消失了。
很高兴该指南能够帮助您完成工作。
对于其他遇到困难的人,这里是指南中的相关部分:
PHP 8 和 macOS Apache
PHP8 和 macOS 捆绑的 Apache 需要一个额外的步骤:
sudo nano /etc/apache2/httpd.conf
添加新的 PHP 8 并注释掉旧的。
LoadModule php_module /usr/local/opt/php@8.0/lib/httpd/modules/libphp.so
转到文件末尾并添加:
<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>
重新启动 Apache
有时 php 配置是通过“其他”配置添加的,如果您在 httpd.conf
末尾有如下一行
Include /private/etc/apache2/other/*.conf
检查 /private/etc/apache2/other/
下的配置文件并进行必要的更改。我在该文件夹中有一个名为 +php-osx.conf
的文件,我编辑如下:
LoadModule php_module /usr/local/opt/php@8.0/lib/httpd/modules/libphp.so
<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>
<IfModule php_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
</IfModule>
我尝试在 mac M1 monterey 上安装 php,但是这个简单的代码没有被解释:
<?php phpinfo(); ?>
我用 brew
安装了 phpbrew install php
brew link php
我签署了 libphp 模块
codesign --sign "certificate" --force --keychain ~/Library/Keychains/ /opt/homebrew/Cellar/php/8.1.2/lib/httpd/modules/libphp.so
我应该改用动态 link 吗?
/opt/homebrew/opt/php/lib/httpd/modules/libphp.so
正在加载 apache2.conf 文件中的模块
LoadModule php_module /opt/homebrew/Cellar/php/8.1.2/lib/httpd/modules/libphp.so "certificate"
允许在 apache2.conf 文件中查看 php 页面
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
which php
/opt/homebrew/bin//php
这里的双斜线正常吗?
我可以访问我的 web 目录的 index.php 但是 php 仍然没有执行。
谢谢
正如我在评论中提到的,您可能已经完成了大部分步骤,但我发现本指南中提到了 PHP 的最后一步。这是 link:
https://wpbeaches.com/updating-to-php-versions-7-4-and-8-on-macos-12-monterey/
我还发现,当我开始使用自制 Apache 时,很多问题都消失了。
很高兴该指南能够帮助您完成工作。
对于其他遇到困难的人,这里是指南中的相关部分:
PHP 8 和 macOS Apache
PHP8 和 macOS 捆绑的 Apache 需要一个额外的步骤:
sudo nano /etc/apache2/httpd.conf
添加新的 PHP 8 并注释掉旧的。
LoadModule php_module /usr/local/opt/php@8.0/lib/httpd/modules/libphp.so
转到文件末尾并添加:
<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>
重新启动 Apache
有时 php 配置是通过“其他”配置添加的,如果您在 httpd.conf
末尾有如下一行Include /private/etc/apache2/other/*.conf
检查 /private/etc/apache2/other/
下的配置文件并进行必要的更改。我在该文件夹中有一个名为 +php-osx.conf
的文件,我编辑如下:
LoadModule php_module /usr/local/opt/php@8.0/lib/httpd/modules/libphp.so
<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>
<IfModule php_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
</IfModule>