<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/install.macosx.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'zh',
  ),
  'this' => 
  array (
    0 => 'install.macosx.bundled.php',
    1 => '使用 macOS Monterey 之前内置的 PHP',
    2 => '使用 macOS Monterey 之前内置的 PHP',
  ),
  'up' => 
  array (
    0 => 'install.macosx.php',
    1 => 'macOS 系统下的安装',
  ),
  'prev' => 
  array (
    0 => 'install.macosx.compile.php',
    1 => '在 macOS 下编译 PHP',
  ),
  'next' => 
  array (
    0 => 'install.windows.php',
    1 => 'Windows 系统下的安装',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'zh',
    'path' => 'install/macos/bundled.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="install.macosx.bundled" class="sect1">
 <h2 class="title">使用 macOS Monterey 之前内置的 PHP </h2>
 <p class="simpara">
  PHP 从 macOS X（10.0.0）开始，到 macOS Monterey（12.0.0）之前内置到系统中。在默认的 web
  服务器中启用 PHP，只需将 Apache 配置文件 <var class="filename">httpd.conf</var>
  中的几行配置指令最前面的注释符号去掉，而 <abbr title="Common Gateway Interface">CGI</abbr> 或 <abbr title="Command Line Interpreter/Interface">CLI</abbr>
  默认都可使用（可以很容易的被终端程序使用）。
 </p>
 <p class="simpara">
  按照以下的使用说明，可以快速的建立一个本地 PHP
  开发环境。<em>强烈建议</em>将 PHP
  升级到最新的版本。在大多数活跃的软件中， 新的版本会修复错误和添加新的功能，PHP
  也是如此。请参见相应的 macOS
  安装文档，以进一步了解详细的信息。以下的说明以初学者的角度来详细描述如何操作来得到一个缺省的运行环境。建议所有的用户都编译或者安装一个新的打包版本。
 </p>
 <p class="simpara">
  标准的安装类型为 mod_php，在 macOS 的 Apache web 服务器（默认
  web 服务器，可以从系统设置中访问）中启用 PHP 包含以下的步骤：
 </p>
 <p class="para">
  <ol type="1">
   <li class="listitem">
    <span class="simpara">
     找到并打开Apache的配置文件。默认情况下，这个配置文件的位置是： <var class="filename">/private/etc/apache2/httpd.conf</var>。
    </span>
    <span class="simpara">
     使用 <code class="literal">Finder</code> 或者 <code class="literal">Spotlight</code>
     来找到这个文件可能不是很容易的事情，因为在默认情况下它一般是 <code class="literal">root</code>
     用户拥有所有权的私有文件。
    </span>
    <blockquote class="note"><p><strong class="note">注意</strong>: 
     <span class="simpara">
      要打开这个文件，可以在命令行下面使用基于 Unix 的文本编辑器，例如
      <code class="literal">nano</code>，因为他的属主是 <code class="literal">root</code>，所以我们需要使用 <code class="literal">sudo</code> 来打开（以 <code class="literal">root</code> 用户权限）。例如我们在 
      <code class="literal">Terminal</code>
      程序中敲入下面的指令（操作后，会提示输入密码）：<code class="literal">sudo nano /private/etc/apache2/httpd.conf</code>
     </span>
     <span class="simpara">
      注意 nano 中的命令：<code class="literal">^w</code>（搜索），<code class="literal">^o</code>（保存），以及
      <code class="literal">^x</code>（退出）。<code class="literal">^</code> 表示 Ctrl 键。
     </span>
    </p></blockquote>
    <blockquote class="note"><p><strong class="note">注意</strong>: 
     <span class="simpara">
      在 Mac OS X 10.5之前的版本中捆绑的是旧版本的 PHP 和
      Apache。因此在旧的计算机中 Apache 配置文件的位置可能是
      <var class="filename">/etc/httpd/httpd.conf</var>。
     </span>
    </p></blockquote>
   </li>
   <li class="listitem">
    <p class="para">
     使用文本的编辑器取消注释（删除前面的
     #）看起来类似于下面的行（这两行常常不在一起，需要在文件中找到这两行）：
     <div class="example-contents screen">
<div class="cdata"><pre>
# LoadModule php5_module libexec/httpd/libphp5.so

# AddModule mod_php5.c
</pre></div>
     </div>
     注意位置／路径。如果在以后重新编译了
     PHP，以上文件应被更换或者注释掉。
    </p>
   </li>
   <li class="listitem">
    <p class="para">
     确保将所需要的文件扩展名解析为 PHP（例如：<var class="filename">.php</var>、<var class="filename">.html</var> 
     以及 <var class="filename">.inc</var>），否则不能正常运行。
    </p>
    <p class="para">
     由于以下的配置已经写入
     <var class="filename">httpd.conf</var>（自 Mac Panther
     版起），一旦 PHP 被启用则 <var class="filename">.php</var> 文件会被自动解析为 PHP 脚本。
     <div class="example-contents screen">
<div class="cdata"><pre>
&lt;IfModule mod_php5.c&gt;
    # 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
    &lt;IfModule mod_dir.c&gt;
        DirectoryIndex index.html index.php
    &lt;/IfModule&gt;
&lt;/IfModule&gt;
</pre></div>
     </div>
    </p>
    <blockquote class="note"><p><strong class="note">注意</strong>: 
     <p class="para">
      在 Mac OS X 10.5（Leopard）以前版本中，捆绑的是
      PHP 4 而不是 PHP 5，因此上面的配置指令稍有不同，需要将 5 更改为 4。
     </p>
    </p></blockquote>
   </li>
   <li class="listitem">
    <span class="simpara">
     确保 DirectoryIndex 加载了所需的默认索引文件。
    </span>
    <span class="simpara">
     这个也是在 <var class="filename">httpd.conf</var> 中设置的。 通常情况下使用 
     <var class="filename">index.php</var> 和 <var class="filename">index.html</var> 。默认情况下 <var class="filename">index.php</var>
     会被启用，因为在我们上面的配置指令中写明了。根据实际情况可以做相应的调整。
    </span>
   </li>
   <li class="listitem">
    <span class="simpara">
     设置 <var class="filename">php.ini</var> 的位置或者使用默认的位置。
    </span>
    <span class="simpara">
     macOS 上通常默认的位置是
     <var class="filename">/usr/local/php/php.ini</var> ，调用
     <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span> 也可以得到此信息。如果没有使用
     <var class="filename">php.ini</var>，PHP 将使用所有的默认值。参见常见问题中的<a href="faq.installation.php#faq.installation.phpini" class="link">寻找 php.ini</a>。
    </span>
   </li>
   <li class="listitem">
    <span class="simpara">
     定位或者设置 <code class="literal">DocumentRoot</code>。
    </span>
    <span class="simpara">
     这是网站所有文件的根目录。此目录中的文件由 web 服务器提供服务，从而使得
     PHP 文件将在输出到浏览器之前解析为 PHP 脚本。通常情况下默认的路径是
     <var class="filename">/Library/WebServer/Documents</var>，但是可以根据需要在
     <var class="filename">httpd.conf</var>中设置为任何其他目录。另外，用户自己的缺省 
     <var class="filename">DocumentRoot</var> 是
     <var class="filename">/Users/yourusername/Sites</var>。
    </span>
   </li>
   <li class="listitem">
    <span class="simpara">
     创建一个 <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span> 文件。
    </span>
    <p class="para">
     <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span> 将会显示PHP的相关系统信息。可以在
     DocumentRoot 下创建一个 PHP 文件，其代码如下：
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php phpinfo</span><span style="color: #007700">(); </span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </p> 
   </li>
   <li class="listitem">
    <span class="simpara">
     重启 Apache，然后从浏览器访问上面创建的文件。
    </span>
    <p class="para">
     要重启Apache，可以在 shell 中执行 <code class="literal">sudo apachectl
     graceful</code>，也可以停止/启动 macOS 系统首选项中的“Personal
     Web Server”选项。默认情况下，从浏览器访问本地文件的 <abbr title="Uniform Resource Locator">URL</abbr>
     一般类似于：<var class="filename">http://localhost/info.php</var>，或者使用：<var class="filename">http://localhost/~yourusername/info.php</var>
     来访问用户自己 DocumentRoot 中的文件。
    </p>
   </li>
  </ol>
 </p>
 <p class="simpara">
  <abbr title="Command Line Interpreter/Interface">CLI</abbr>（或者旧版本中的 <abbr title="Common Gateway Interface">CGI</abbr>）一般文件名为
  <var class="filename">php</var> ，其路径可能是  
  <var class="filename">/usr/bin/php</var>。打开一个终端，参考 PHP 手册中的
  <a href="features.commandline.php" class="link">PHP 的命令行模式</a>一章，然后执行
  <code class="literal">php -v</code> 可以检查当前运行的 PHP 的版本。调用
  <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span> 也会显示相关的信息。
 </p>
</div><?php manual_footer($setup); ?>