Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
PHPのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
PHP
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:プログラミング言語]] [[de:PHP]] [[en:PHP]] [[es:PHP]] [[fr:Lamp]] [[it:PHP]] [[sr:PHP]] [http://www.php.net/ PHP] は広く使われている多目的のスクリプト言語で、特にウェブ開発に適しており HTML に埋め込むことができます。 == インストール == [[公式リポジトリ]]から {{Pkg|php}} パッケージを[[インストール]]してください。 PHP スクリプトを普通の CGI として実行するには、{{Pkg|php-cgi}} パッケージが必要です。 == セットアップ == PHP はスタンドアロンで実行することもできますが、普通は Apache や nginx、lighttpd などの http サーバーと一緒に使われます。 * '''スタンドアロン''': {{ic|php -S localhost:8000 -t public_html/}}。[http://docs.php.net/manual/en/features.commandline.webserver.php ドキュメント] を参照 * '''Apache''': [[Apache HTTP Server|Apache HTTP Server]] を参照 * '''lighttpd''': [[lighttpd|lighttpd]] を参照 * '''nginx''': [[nginx|nginx]] を参照 == 設定 == メインの PHP 設定ファイルは {{ic|/etc/php/php.ini}} にあり豊富なドキュメントが揃っています。 * {{ic|/etc/php/php.ini}} には以下のようにタイムゾーンを設定することが推奨されています ([http://www.php.net/manual/en/timezones.php タイムゾーンのリスト]): date.timezone = Europe/Berlin * PHP のコードをデバッグするためにエラーを表示したい場合、{{ic|/etc/php/php.ini}} の {{ic|display_errors}} を {{ic|On}} に変更してください: display_errors=On * 必要であれば、{{ic|/etc/httpd/conf/extra/php5_module.conf}} に、{{ic|.phtml}} のファイルハンドラを追加してください: DirectoryIndex index.php index.phtml index.html == 拡張 == よく使われる PHP の拡張は公式リポジトリに入っています: # pacman -Ss php- ===gd=== {{Pkg|php-gd}} を使うには次の行をアンコメント: extension=gd.so ===imagemagick=== {{Pkg|imagemagick}} を使うには {{ic|# pecl install imagick}} を実行してください。pecl バイナリは {{Pkg|php-pear}} パッケージに含まれています。そして次を追加: extension=imagick.so === pthreads エクステンション === POSIX マルチスレッディングを使いたい場合、pthreads エクステンションが必要になります。{{ic|pecl}} を使って pthreads (http://pecl.php.net/package/pthreads) をインストールするにはスレッドセーフティフラグ {{ic|--enable-maintainer-zts}} を付けてコンパイルされた PHP を使わなくてはなりません。元のパッケージにフラグをつけて再ビルドするのが一番簡単な方法になります。 手順は [[PHP pthreads extension]] のページに記載されています。 === mcrypt === {{ic|mcrypt}} モジュールが使いたい場合、{{Pkg|php-mcrypt}} をインストールして {{ic|/etc/php/php.ini}} の {{ic|1=extension=mcrypt.so}} をアンコメントしてください: extension=mcrypt.so === PCNTL === PCNTL を使うことでサーバーサイドのマシンにプロセスを直接作成することができるようになります。これでやりたいことがやれるようになる一方、状況をぐちゃぐちゃにするパワーを PHP に与えることにもなります。そのため、他の便利なエクステンションと同じようにロードすることはできない PHP エクステンションです。この拡張を有効にするには (デフォルトでは有効になっていません) PCNTL を PHP に組み込んでコンパイルする必要があります。 == Zend Core + Apache == Zend Core は [http://www.zend.com zend.com] によって提供されている公式の PHP ディストリビューションです。インストーラやアップデータ, zend optimizer, oracle のサポート, 必要なライブラリが含まれています。ただし postgresql, firebird, odbc のサポートはありません。 * Apache の FastCGI モジュールである {{Pkg|mod_fcgid}} をインストール (公式の奴は糞)。 * Zend Core (公式の PHP ディストリビューション) のインストール ** {{Pkg|php}} パッケージをアンインストール。 ** [http://www.zend.com/products/zend_core] から zend core をダウンロードしてインストール。一緒に入っている apache をインストールしたりウェブサーバーをセットアップしないでください。常に {{ic|/usr/local/Zend/Core}} にインストールされるようにハードコードされています。 ** {{ic|/usr/local/bin/zendcore}} スクリプトを作成して {{ic|/usr/local/bin}} に ''php'', ''php-cgi'', ''pear'', ''phpize'' のシンボリックリンクを作成<br>{{ic|1=#!/bin/bash <br>export LD_LIBRARY_PATH="/usr/local/Zend/Core/lib"<br>exec /usr/local/Zend/Core/bin/`basename $0` "$@"}} * Apache のセットアップ: ** {{ic|/etc/httpd/conf/httpd.conf}} に以下を追加<br>{{ic|LoadModule fcgid_module modules/mod_fcgid.so<br><Directory /srv/http><br>AddHandler fcgid-script .php<br>FCGIWrapper /usr/local/bin/php-cgi .php<br>Options ExecCGI<br>Allow from all<br></Directory><br>SocketPath /tmp/fcgidsock<br>SharememPath /tmp/fcgidshm}} ** Directory パスを忘れずに変更 * (キャッシュが使えるように) Zend Optimizer を無効化: ** {{ic|/etc/php.ini}} を編集して、ファイルの一番下らへんにある次の行をアンコメント:<br>{{ic|<nowiki>zend_extension_manager.optimizer="/usr/local/Zend/Core/lib/zend/optimizer"</nowiki>}} * APC (Alternative PHP Cache) のインストール: ** スーパーユーザーで {{ic|pear install pecl.php.net/apc}} を実行。 ** {{ic|/etc/php.ini}} を編集して ''"; Zend Core extensions..."'' (1205行目) の後に行を追加:<br>{{ic|<nowiki>extension=apc.so</nowiki>}} * Zend Core やその他のコンポーネントのアップデート ** {{ic|/usr/local/Zend/Core/setup}} を実行 == 開発ツール == === Komodo === PHP+HTML+JavaScript の素晴らしい統合を提供します。コードフォーマットやユニコードのサポートはありません。 [http://www.activestate.com/products/komodo_ide/ Komodo IDE] | [http://www.activestate.com/products/komodo_edit/ Komodo Edit (free)] カスタムエンコーディングの追加: *{{ic|''KOMODO_INSTALL_DIR''/lib/mozilla/components/koEncodingServices.py}} の84行目を編集して追加: ('cp950', 'Chinese(CP-950/Big5)', 'CP950', '', 1,'cp950'), ('cp936', 'Chinese(CP-936/GB2312)', 'CP936', '', 1,'cp936'), ('GB2312', 'Chinese(GB-2312)', 'GB2312', '', 1,'GB2312'), .... フォーマットは (''encoding name in python'', ''description'', ''short description'', BOM, ''is ASCII-superset?'', ''font encoding'') === Netbeans === PHP を含む多数の言語に対応した完全な IDE です。デバッグ・リファクタリング・コードテンプレート・自動補完・XML 機能・ウェブデザイン・開発機能 (CSS の自動補完機能や PHP/JavaScript コードのヒント) などの機能があります。 === Eclipse PDT === 現時点では [http://www.zend.com/pdt Eclipse PDT] はまだ未完成です (v0.7)。例えば、クラスリストを自動でポップアップすることができません。ただし自動アクティベーションのトリガーキーを追加することはできます。 JavaScript サポートや DB クエリなどのプラグインも必要になるでしょう。 === Zend Studio === [http://www.zend.com/products/studio/ Zend Studio] は eclipse ベースの公式 PHP IDE です。この IDE には自動補完・高度なコードフォーマット・WYSIWYG html エディタ・リファクタリング・db アクセスやバージョン管理の統合、さらに他の eclipse プラグインで得ることができる eclipse の機能全てが含まれています。AUR の {{AUR|zendstudio}} パッケージでインストール可能です。 === Aptana Studio === PHP でのプログラミングやウェブ開発に向いている IDE です。現在のバージョン (3.2.2) には PHP デバッガは含まれていません。 === Zend Code Analyzer === Zend Studio の PHP コードアナライザです。慎重な PHP コーディングには不可欠なプログラムです。 ==== インストール ==== * Zend Studio Neon をダウンロード・インストール * インストールディレクトリで、{{ic|find . -name "ZendCodeAnalyzer}} を実行してパスを取得 * ZendCodeAnalyzer を {{ic|/usr/local/bin/zca}} にコピー * zend studio はもう必要ないなら削除してかまいません ==== Vim の統合 ==== 以下の行を {{ic|.vimrc}} に追加: autocmd FileType php setlocal makeprg=zca\ %<.php autocmd FileType php setlocal errorformat=%f(line\ %l):\ %m ==== Eclipse の統合 ==== ''Error Link'' プラグイン: * (Error Link が認識できるように) ''zca'' を ''build.zca'' にシンボリックリンク * [http://sunshade.sourceforge.net/ Sunshade] プラグインスイートをインストール * Preference -> Sunshade -> Error Link -> Add: ''{{ic|^(.*\.php)\(line (\d+)\): ()(.*)}}'' * Run -> External Tools -> Open External Tools Dialog -> Select "Program" -> Clicn on "New":<br>Name: Zend Code Analyzer<br>Location: ''/usr/local/bin/build.zca''<br>Working Directory: ''${container_loc}''<br>Arguments: ''--recursive ${resource_name}'' ==== Komodo の統合 ==== Toolbox -> Add -> New Command: * Command: ''zca --recursive %F'' * Run in: Command Output Tab * Parse output with: ''{{ic|^(?P<file>.+?)\(line (?P<line>\d+)\): (?P<content>.*)$}}'' * ''Show parsed output as a list'' を選択 == トラブルシューティング == === PHP Fatal error: Class 'ZipArchive' not found === zip エクステンションが有効になっていることを確認してください。 {{hc|$ grep zip /etc/php/php.ini|2= extension=zip.so}} === /etc/php/php.ini が適用されない === php.ini が適用されない場合、ini ファイルの名前が使用している sapi に合わせて変更されています。例えば uwsgi を使っている場合、ファイルの名前は {{ic|/etc/php/php-uwsgi.ini}} になり、cli を使っている場合 {{ic|/etc/php/php-cli.ini}} になります。 == 参照 == * [http://www.php.net/ PHP 公式ウェブサイト]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Aur
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Tip
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
PHP
に戻る。
検索
検索
PHPのソースを表示
話題を追加