设为首页 收藏本站
查看: 777|回复: 0

[经验分享] Mac OS X 配置php环境的一些记录

[复制链接]

尚未签到

发表于 2015-8-28 09:01:18 | 显示全部楼层 |阅读模式
从 OS X 10.0.0 版本开始,PHP 作为 Mac 机的标准配置被提供。在默认的 web 服务器中启用 PHP,只需将 Apache 配置文件 httpd.conf 中的几行配置指令最前面的注释符号去掉,而 CGI 或 CLI 默认都可使用(可以很容易的被终端程序使用)。
按照以下的使用说明,可以快速的建立一个本地 PHP 开发环境。强烈建议将 PHP 升级到最新的版本。在大多数活跃的软件中, 新的版本会修复错误和添加新的功能,PHP 也是如此。请参见相应的 Mac OS X 安装文档,以进一步了解详细的信息。以下的说明以初学者的角度来详细描述如何操作来得到一个缺省的运行环境。建议所有的用户都编译或者安装一个新的打包版本。
标准的安装类型为 mod_php,在 Mac OS X 的 Apache web 服务器(默认 web 服务器,可以从系统设置中访问)中启用 PHP 包含以下的步骤:



  • 找到并打开Apache的配置文件。默认情况下,这个配置文件的位置是: /private/etc/apache2/httpd.conf。 使用 Finder 或者 Spotlight 来找到这个文件可能不是很容易的事情,因为在默认情况下它一般是 root 用户拥有所有权的私有文件。
      Note: 要打开这个文件,可以在命令行下面使用基于 Unix 的文本编辑器,例如 nano,因为他的属主是 root,所以我们需要使用 sudo 来打开(以 root用户权限)。例如我们在 Terminal 程序中敲入下面的指令(操作后,会提示输入密码):sudo nano /private/etc/apache2/httpd.conf 注意 nano 中的命令:^w(搜索),^o(保存),以及 ^x(退出)。^ 表示 Ctrl 键。


      Note: 在Mac OS X 10.5之前的版本中捆绑的是旧版本的 PHP 和 Apache。因此在旧的计算机中 Apache 配置文件的位置可能是/etc/httpd/httpd.conf。



  • 使用文本的编辑器取消注释(删除前面的 #)看起来类似于下面的行(这两行常常不在一起,需要在文件中找到这两行):





    # LoadModule php5_module libexec/httpd/libphp5.so
    # AddModule mod_php5.c

    注意位置/路径。如果在以后重新编译了 PHP,以上文件应被更换或者注释掉。

  • 确保将所需要的文件扩展名解析为 PHP(例如:.php .html 以及 .inc),否则不能正常运行。
    由于以下的配置已经写入 httpd.conf(自 Mac Panther 版起),一旦 PHP 被启用则 .php 文件会被自动解析为 PHP 脚本。








    DSC0000.gif
    <IfModule mod_php5.c>
    # If php is turned on, we respect .php and .phps files.
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    # Since most users will want index.php to work we
    # also automatically enable index.php
    <IfModule mod_dir.c>
    DirectoryIndex index.html index.php
    </IfModule>
    </IfModule>



      Note:
    在 OS X 10.5(Leopard)以前版本中,捆绑的是 PHP 4 而不是 PHP 5,因此上面的配置指令稍有不同,需要将 5 更改为 4。


  • 确保 DirectoryIndex 加载了所需的默认索引文件。 这个也是在 httpd.conf 中设置的。 通常情况下使用 index.php 和 index.html 。默认情况下 index.php 会被启用,因为在我们上面的配置指令中写明了。根据实际情况可以做相应的调整。
  • 设置 php.ini 的位置或者使用默认的位置。 Mac OS X 上通常默认的位置是 /usr/local/php/php.ini ,调用 phpinfo() 也可以得到此信息。如果没有使用 php.ini,PHP 将使用所有的默认值。参见常见问题中的寻找 php.ini。
  • 定位或者设置 DocumentRoot。 这是网站所有文件的根目录。此目录中的文件由 web 服务器提供服务,从而使得 PHP 文件将在输出到浏览器之前解析为 PHP 脚本。通常情况下默认的路径是 /Library/WebServer/Documents,但是可以根据需要在 httpd.conf中设置为任何其他目录。另外,用户自己的缺省 DocumentRoot 是/Users/yourusername/Sites。
  • 创建一个 phpinfo() 文件。
    phpinfo() 将会显示PHP的相关系统信息。可以在 DocumentRoot 下创建一个 PHP 文件,其代码如下:




    <?php phpinfo(); ?>
  • 重启 Apache,然后从浏览器访问上面创建的文件。
    要重启Apache,可以在 shell 中执行 sudo apachectl graceful,也可以停止/启动 OS X 系统首选项中的“Personal Web Server”选项。默认情况下,从浏览器访问本地文件的 URL 一般类似于:http://localhost/info.php,或者使用:http://localhost/~yourusername/info.php 来访问用户自己 DocumentRoot 中的文件。


CLI(或者旧版本中的 CGI)一般文件名为 php ,其路径可能是 /usr/bin/php。打开一个终端,参考 PHP 手册中的 PHP 的命令行模式一章,然后执行 php -v 可以检查当前运行的 PHP 的版本。调用 phpinfo() 也会显示相关的信息。



User Contributed Notes 4 notes








8 months ago



To work on Mac OS X Lion 10.7, I had to change /private/etc/php.ini.default to /private/etc/php.ini






5 years ago




You only have to uncomment:
#LoadModule php5_module        libexec/apache2/libphp5.so
This is gone:
# AddModule mod_php5.c
The statement in 3 was changed to:






<IfModule mime_module>
#
# TypesConfig points to the file containing the list of mappings from
# filename extension to MIME-type.
#
TypesConfig /private/etc/apache2/mime.types
#
# AddType allows you to add to or override the MIME configuration
# file specified in TypesConfig for specific file types.
#
#AddType application/x-gzip .tgz
#
# AddEncoding allows you to have certain browsers uncompress
# information on the fly. Note: Not all browsers support this.
#
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
#
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
#AddHandler cgi-script .cgi
# For type maps (negotiated resources):
#AddHandler type-map var
#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
</IfModule>



Extra MIME types can either be added to the file /private/etc/apache2/mime.types or by using an AddType directive as commented on above.






5 years ago




Additionally, it seems that the default installation of php on Mac OS X (10.5 tested) does not point to the default location of the mysql.sock file that is installed in a standard MySQL 5.0 installation.
This prevents php working with locally hosted MySQL databases.
Adding the following line to the /private/etc/apache2/other/php5.conf file did the trick:
php_value mysql.default_socket /tmp/mysql.sock
(make sure you put it in between the </IfModule> statements)






5 years ago




I am using MacOSX 10.5.4 and only enabling the mod_php5 wasn't enough to get the PHP support. I had to add following block before I could use php on machine -







<IfModule mod_php5.c>
# If php is turned on, we respect .php and .phps files.
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
# Since most users will want index.php to work we
# also automatically enable index.php
<IfModule mod_dir.c>
DirectoryIndex index.html index.php
</IfModule>
</IfModule>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-105290-1-1.html 上篇帖子: [导入]php表单提交程序的安全 下篇帖子: php查看信息和加载模块
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表