Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
PHPのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
PHP
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:プログラミング言語]] [[de:PHP]] [[en:PHP]] [[es:PHP]] [[fr:Lamp]] [[it:PHP]] [[ru:PHP]] [[sr:PHP]] [[zh-hans:PHP]] [https://secure.php.net/ PHP] は広く使われている多目的のスクリプト言語で、特にウェブ開発に適しており HTML に埋め込むことができます。 == インストール == {{Pkg|php}} パッケージを[[インストール]]してください。 古いバージョンの PHP は {{AUR|php53}}、 {{AUR|php55}}、 {{AUR|php56}}、 {{AUR|php70}}、 {{AUR|php71}}、 {{AUR|php72}}、 {{AUR|php73}} および {{AUR|php74}} パッケージなどが AUR に存在します。 == 起動 == PHP はスタンドアロンで実行できますが、通常は Web サーバで使用します。そのためには、追加のパッケージをインストールして、設定ファイルを編集する必要があります。一般的な設定については、[[Apache HTTP Server#PHP|Apache HTTP Server]]、 [[nginx#PHP_implementation|nginx]]、 [[lighttpd#PHP|lighttpd]] および [[Hiawatha#CGI|Hiawatha]] を参照してください。PHP スクリプトを 純粋な CGI として実行するには、{{Pkg|php-cgi}} パッケージが必要です。 == 設定 == メインの PHP 設定ファイルは {{ic|/etc/php/php.ini}} にあり豊富なドキュメントが揃っています。 * {{ic|/etc/php/php.ini}} には以下のようにタイムゾーンを設定することが推奨されています ([http://www.php.net/manual/ja/timezones.php タイムゾーンのリスト]): date.timezone = Europe/Berlin * PHP のコードをデバッグするためにエラーを表示したい場合、{{ic|/etc/php/php.ini}} の {{ic|display_errors}} を {{ic|On}} に変更してください: display_errors=On * [https://php.net/open-basedir open_basedir] ディレクティブは、PHP がアクセスできるパスを制限することで、セキュリティを向上させますが、その代わりに通常のプログラムの実行に支障をきたす可能性があります。PHP 7.0 以降、このディレクティブは上流にあわせるかたちで[https://archlinux.org/news/php-70-packages-released/ デフォルトでは設定されていない]ため、使用したいユーザーは手動で設定する必要があります。すべてのシンボリックリンクは解決されるので、シンボリックリンクでこの制限を回避することはできません。{{ic|nextcloud}} や {{ic|phpmyadmin}} のような特定のウェブアプリのためのデフォルトの Arch パッケージは、 {{ic|/usr/share/webapps}} の下にウェブアプリをインストールし、{{ic|/etc/webapps}} の下にそれらのウェブアプリのための実際の設定ファイルを示すシンボリックリンクを作成します。そのため、{{ic|open_basedir}} を設定している場合は、これらのフォルダが両方とも {{ic|open_basedir}} にある事を確認してください。これは他の場所にインストールされたウェブアプリの場合は当然異なります。例: open_basedir = /srv/http/:/var/www/:/home/:/tmp/:/var/tmp/:/var/cache/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/ == 拡張 == よく使われる PHP の拡張は公式リポジトリに入っています: # pacman -Ss php- [[AUR]] にある PHP の拡張のパッケージには名前の前に php-* または php56-* が付きます。例: {{Pkg|php-imagick}}, {{Pkg|php-redis}}, {{AUR|php56-mcrypt}}。 ===gd=== {{Pkg|php-gd}} を使うには {{ic|/etc/php/php.ini}} の次の行をアンコメント: extension=gd {{Tip|{{ic|/etc/php/php.ini}} を編集するのではなく {{ic|/etc/php/conf.d}} ディレクトリから拡張を有効化したり設定することもできます (例: {{ic|/etc/php/conf.d/gd.ini}})。}} === imagemagick === {{Pkg|imagemagick}} と PHP の拡張ライブラリをインストールしてから、PHP の設定に {{ic|1=extension=imagick}} を追加することで使うことができます。 ==== AUR を使う ==== {{Pkg|php-imagick}} をインストールしてください。{{Pkg|imagemagick}} も依存パッケージとしてインストールされます。パッケージをインストールすると {{ic|/etc/php/conf.d/imagick.ini}} が作成されるため自動的に PHP の設定で拡張が有効になります。 ==== ''pecl'' を使う ==== 先に {{Pkg|imagemagick}} をインストールしてください。''pecl'' バイナリは {{AUR|php-pear}} パッケージに含まれています。''pecl'' をインストールしたら、以下のコマンドで ''imagemagick'' の PHP 拡張をインストール: # pecl install imagick そして以下のコマンドで拡張を有効化: # echo 'extension=imagick'>/etc/php/conf.d/imagick.ini === pthreads === POSIX マルチスレッディングを使いたい場合、pthreads 拡張が必要になります。{{ic|pecl}} を使って pthreads (http://pecl.php.net/package/pthreads) をインストールするにはスレッドセーフティフラグ {{ic|--enable-maintainer-zts}} を付けてコンパイルされた PHP を使わなくてはなりません。元のパッケージにフラグをつけて再ビルドするのが一番簡単な方法になります。 手順は [[PHP pthreads 拡張]]のページに記載されています。 === PCNTL === PCNTL を使うことでサーバーサイドのマシンにプロセスを直接作成することができるようになります。これでやりたいことがやれるようになる一方、状況をぐちゃぐちゃにするパワーを PHP に与えることにもなります。そのため、他の便利なエクステンションと同じようにロードすることはできない PHP エクステンションです。この拡張を有効にするには (デフォルトでは有効になっていません) PCNTL を PHP に組み込んでコンパイルする必要があります。 === MySQL/MariaDB === [[MariaDB]] に書かれている手順に従って MySQL/MariaDB をインストール・設定ください。 {{ic|/etc/php/php.ini}} の [https://secure.php.net/manual/ja/mysqlinfo.api.choosing.php 以下の行] をアンコメントします: extension=pdo_mysql extension=mysqli {{Warning|{{ic|1=extension=mysql}} は PHP 7.0 で [https://secure.php.net/manual/ja/migration70.removed-exts-sapis.php 削除] されました。}} ウェブスクリプト用に権限を抑えた MySQL ユーザーを追加することができます。また、{{ic|/etc/mysql/my.cnf}} を編集して {{ic|skip-networking}} 行をアンコメントすると MySQL サーバーはローカルホストからしかアクセスできなくなります。変更を適用するには MySQL の再起動が必要です。 {{Tip|[[phpMyAdmin]], [[Adminer]], {{Pkg|mysql-workbench}} などのツールをインストールしてデータベースを操作するのも良いでしょう。}} === Redis === [[Redis]] をインストール・設定してから {{Pkg|php-redis}} または {{Aur|phpredis-git}} パッケージをインストールしてください。 それからパッケージの行をアンコメントしてください。例: {{ic|/etc/php/conf.d/redis.ini}}。 === PostgreSQL === [[PostgreSQL]] をインストール・設定したら、{{pkg|php-pgsql}} パッケージをインストールして {{ic|/etc/php/php.ini}} の以下の行をアンコメントしてください: extension=pdo_pgsql extension=pgsql === Sqlite === [[Sqlite]] をインストール・設定したら、{{pkg|php-sqlite}} パッケージをインストールして {{ic|/etc/php/php.ini}} の以下の行をアンコメントしてください: extension=pdo_sqlite extension=sqlite3 === XDebug === XDebug は var_dump() 関数による php コードのデバッグを楽にします。{{Pkg|xdebug}} をインストールして {{ic|/etc/php/conf.d/xdebug.ini}} の以下の行をアンコメントしてください: zend_extension=xdebug xdebug.remote_enable=on xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_handler=dbgp {{Note|リモートデバッグセッションを常時起動してデバッグクライアントに接続するには {{ic|1=xdebug.remote_autostart=on}} も設定する必要があります。}} === IMAP === {{Pkg|php-imap}} をインストールして {{ic|/etc/php/php.ini}} の以下の行をアンコメントしてください: extension=imap == キャッシュ == PHP には2種類のキャッシュが存在します: ''opcode''/''bytecode'' キャッシュと ''userland''/''user data'' キャッシュです。両方を使うことでアプリケーションの速度を相当上げることができるため、できるかぎり有効にすることを推奨します。 * [[wikipedia:Zend Opcache|Zend OPCache]] は ''opcode'' のキャッシュだけを行います。 * [https://github.com/krakjoe/apcu/ APCu] は ''userland'' のキャッシュだけを行います。 キャッシュを最適化するために、'''両方'''を有効にしてください。以下の [[#OPCache]] と [[#APCu]] の両方を読むことで有効化できます。 === OPCache === OPCache は標準の PHP ディストリビューションに付属しているため、OPCache は [[#設定|PHP 設定ファイル]]に以下の行を追加あるいはアンコメントするだけで有効化できます: {{hc|/etc/php/php.ini|2=zend_extension=opcache}} PHP のウェブサイトにある [https://secure.php.net/manual/ja/book.opcache.php 公式エントリ] に OPCache のオプションのリストや推奨される設定が載っています。 {{Warning|マニュアルの [https://secure.php.net/manual/ja/opcache.installation.php#opcache.installation.recommended 推奨設定] を適用するときは、設定手順の下に書かれている [https://secure.php.net/manual/ja/opcache.installation.php#114567 最初のコメント] も注意深く読むようにしてください。設定によっては {{ic|zend_mm_heap corrupted}} などのエラーが発生するようになってしまうことがあります。}} === APCu === APCu は {{Pkg|php-apcu}} パッケージでインストールできます。{{ic|/etc/php/conf.d/apcu.ini}} の以下の行をアンコメントするか、以下の行を [[#設定|PHP 設定ファイル]]に追加することで有効にします: extension=apcu APCu の作者は推奨される設定を [https://github.com/krakjoe/apcu/blob/master/INSTALL 記述] しています: * {{ic|1=apc.enabled=1}} と {{ic|1=apc.shm_size=32M}} は [https://secure.php.net/manual/ja/apc.configuration.php デフォルト値] なので設定しなくても問題ありません。 * その一方 {{ic|1=apc.ttl=7200}} は [https://secure.php.net/manual/ja/apc.configuration.php#ini.apc.ttl 多少効果がある] ようです。 * 最後に {{ic|1=apc.enable_cli=1}} はマニュアルでは [https://secure.php.net/manual/ja/apc.configuration.php#ini.apc.enable-cli 非推奨] になっていますが、[https://github.com/owncloud/core/issues/17329#issuecomment-119248944 ownCloud] などソフトウェアによっては必須です。 {{Tip|上記の設定は APCu 専用の {{ic|/etc/php/conf.d/apcu.ini}} あるいは [[#設定|PHP 設定ファイル]]に直接記述することができます。拡張を二回有効にするとシステムログにエラーが残るので止めてください。}} == 開発ツール == === Aptana Studio === [http://www.aptana.com/products/studio3.html Aptana Studio] は PHP でのプログラミングやウェブ開発に向いている IDE です。{{AUR|aptana-studio}} パッケージでインストールできます。現在のバージョン (3.2.2) には PHP デバッガは含まれていません。 === Eclipse PDT === [http://www.eclipse.org/pdt/ Eclipse PDT] は Eclipse の PHP バージョンです。{{AUR|eclipse-php}} パッケージでインストールできます。詳しくは [[Eclipse]] を参照。 JavaScript サポートや DB クエリなどのプラグインも必要になるでしょう。 === Komodo === [http://komodoide.com/ Komodo] は PHP+HTML+JavaScript の素晴らしい統合を提供する IDE です。[http://komodoide.com/komodo-edit/ Komodo Edit] にはエディタだけが含まれています。{{AUR|komodo-edit}} パッケージでインストールできます。 === Netbeans === PHP を含む多数の言語に対応した完全な IDE です。デバッグ・リファクタリング・コードテンプレート・自動補完・XML 機能・ウェブデザイン・開発機能 (CSS の自動補完機能や PHP/JavaScript コードのヒント) などの機能があります。{{Pkg|netbeans}} パッケージでインストールしてください。 === PhpStorm === [[Wikipedia:PhpStorm|JetBrains PhpStorm]] は JetBrains の IntelliJ IDEA プラットフォームで作られた商用・クロスプラットフォームの PHP 向け IDE です。{{AUR|phpstorm}} パッケージでインストールできます。あるいは {{AUR|phpstorm-eap}} で30日間のトライアル版を使えます。Jetbrains からは教育用のフリーライセンスをもらうことが可能です [https://www.jetbrains.com/student/]。 === Zend Studio === [http://www.zend.com/products/studio/ Zend Studio] は Eclipse ベースの公式 PHP IDE です。この IDE には自動補完・高度なコードフォーマット・WYSIWYG html エディタ・リファクタリング・db アクセスやバージョン管理の統合、さらに他の Eclipse プラグインで得ることができる Eclipse の機能全てが含まれています。AUR の {{AUR|zendstudio}} パッケージでインストール可能です。 == コマンドラインツール == === Composer === [https://getcomposer.org/ Composer] は PHP の依存関係マネージャです。{{Pkg|composer}} パッケージでインストールできます。 ==== ユーザー全体のインストールの許可 ==== 現在のユーザーを使ってグローバルにパッケージをインストールするには (例: {{ic|$ composer global require "package/name"}})、[[環境変数]]でデフォルトの場所を指定すると良いでしょう: PATH="$HOME/.config/composer/vendor/bin:$PATH" === Box === [http://box-project.github.io/box2/ Box] は Phar をビルド・管理するためのアプリケーションです。{{AUR|php-box}} パッケージでインストールできます。 === PDepend === [http://pdepend.org/ PHP Depend] (pdepend) は PHP のソフトウェアメトリクスツールです。{{AUR|pdepend}} パッケージでインストールできます。 === PHP Coding Standards Fixer === [http://cs.sensiolabs.org/ PHP Coding Standards Fixer] はコードを PSR-1 や PSR-2 コーディング規約にしたがって修正します。{{AUR|php-cs-fixer}} パッケージでインストールできます。 === PHP-CodeSniffer === [http://pear.php.net/package/PHP_CodeSniffer/ PHP CodeSniffer] は PHP, JavaScript, CSS ファイルをトークン化してコーディング規約に違反していないか確認します。{{AUR|php-codesniffer}} パッケージでインストールできます。 === phpcov === [https://github.com/sebastianbergmann/phpcov phpcov] は PHP_CodeCoverage ライブラリのコマンドラインフロントエンドです。{{AUR|phpcov}} パッケージでインストールできます。 === phpDox === [http://phpdox.de/ phpDox] は PHP プロジェクトのドキュメントジェネレータです。API ドキュメントなどが生成できます。{{AUR|phpdox}} パッケージでインストールできます。 === PHPLoc === [https://github.com/sebastianbergmann/phploc/ PHPLoc] は PHP プロジェクトのサイズを測定するツールです。{{AUR|phploc}} パッケージでインストールできます。 === PhpMetrics === [http://www.phpmetrics.org/ PhpMetrics] は PHP プロジェクトの様々なメトリクスを提供します。{{AUR|phpmetrics}} パッケージでインストールできます。 === phptok === [https://github.com/sebastianbergmann/phptok phptok] は PHP のソースコードファイルのトークンを素早くダンプできるツールです。{{AUR|phptok}} パッケージでインストールできます。 === PHPUnit === [https://phpunit.de PHPUnit] はプログラマー用の PHP テストフレームワークです。{{AUR|phpunit}} パッケージでインストールできます。 === PHPUnit Skeleton Generator=== [https://github.com/sebastianbergmann/phpunit-skeleton-generator PHPUnit Skeleton Generator] は実運用しているコードのクラスからテストクラスを生成したりその逆ができるツールです。{{AUR|phpunit-skeleton-generator}} パッケージでインストールできます。 === Producer === [http://getproducer.org/ Producer] は PHP ライブラリパッケージを検証するコマンドラインの品質保証ツールです。{{AUR|producer}} パッケージでインストールできます。 == トラブルシューティング == === PHP Fatal error: Class 'ZipArchive' not found === zip エクステンションが有効になっていることを確認してください。 {{hc|$ grep zip /etc/php/php.ini|2= extension=zip}} === /etc/php/php.ini が適用されない === {{ic|php.ini}} が適用されない場合、ini ファイルの名前が使用している sapi に合わせて変更されています。例えば uwsgi を使っている場合、ファイルの名前は {{ic|/etc/php/php-uwsgi.ini}} になり、cli を使っている場合 {{ic|/etc/php/php-cli.ini}} になります。 === PHP Warning: PHP Startup: ''<module>'': Unable to initialize module === {{ic|php}} を実行したときにこのエラーが表示される場合、モジュールのバージョンが古くなっています。PHP のコアやモジュールは全て互換性を保つようにメンテナンスされているので Arch Linux で発生するのは稀です。 [[AUR]] からコンパイルしたモジュールを使用していると発生することがあります。{{ic|/usr/lib/php/modules/}} のファイルの日付をチェックして確認してください。 修正するには、[[AUR]] を検索してモジュールにアップデートが来ていないか確認してください。 もしモジュールがアップデートされていたら、[[AUR]] パッケージの Out of Date フラグを立ててください。 == 参照 == * [http://www.php.net/ PHP 公式ウェブサイト]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Aur
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Tip
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
PHP
に戻る。
検索
検索
PHPのソースを表示
話題を追加