テストとUbuntuでのPHPアプリの配備


あなたがオンラインの教室でPHPを学んでいるならばCodecademy PHP開発のためにワークステーションを設定するとき、あなたは驚いているかもしれません.
あなたのブラウザで自動的に実行されるHTMLまたはJavaScriptコードとは異なり、PHPコード-あなたのオンラインIDEで完全にうまく動作しても、サーバーからそれを実行していない限り、localhostで動作しません.
PHPコードをレンダリングするサーバがない場合は、ブラウザを開いてPHPファイルをダウンロードしたり、PHPコードを表示せずに表示したりすることができます.JavaScriptはクライアント側のスクリプト言語ですが、PHPはサーバー側の言語です.
したがって、localhostで動作するPHPコードを取得するには、サーバーで実行する必要があります.つの一般的な解決策は、パッケージのようなパッケージを使用することですXAMPP Apache(サーバー)、MariADB(人気のMySQLデータベース)、およびPHPが含まれます.そのようなパッケージ化されたスタックは、多くのインストール時間を節約します.
しかし、あなたのOSがUbuntuのようなLinuxディストリビューションであるならば、あなたはクラシックランプスタック(Linux、Apache、MySQL、PHP)をセットアップする機会を取ることができます.しかし、これを設定すると、ソフトウェアのインストールに加えて余分な設定が必要になります.
MySQL
データベースのインストールから始めましょう.私は、それがMySQLの最適化されたインストールを提供するので、MariADBを推薦します.これらのコマンドは、MariADBをインストールし、設定に従ってデータベースのセキュリティオプションを設定します
sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation
アパッチ
次に、Apacheサーバーをインストールする必要があります.
sudo apt install apache2
マシン上でApacheサーバーを実行しているので、Ubuntuのファイアウォールを設定する必要があります.あなたは走ることができるsudo ufw app list 利用可能なファイアウォールプロファイルとsudo ufw app info "Profile Name" 特定のプロファイルに関する情報を取得するには、次の手順に従います.

特定のプロファイルのような場合は、この例では、Apacheのフルを言うと、コマンドでそれを有効にすることができますsudo ufw allow in "Apache Full"今すぐ開くことができますhttp://localhost/ ブラウザでApacheサーバーを実行します

しかし、ApacheがPHPコードをレンダリングするには、まだ追加の設定が必要です.デフォルトでは、Apacheは/var/www ディレクトリ.しかしながら、このディレクトリは保護されていてsudo それを書く.したがって、それはあなたのコードをここで保つ良い練習でありません.
より良い解決策はApacheのユーザーディレクトリ機能を有効にするでしょうpublic_html あなたのホームフォルダのディレクトリ.次のコマンドは、ユーザーディレクトリ機能をアクティブにします.
sudo a2enmod userdir
次に、ユーザディレクトリを作成する必要があります.~/public_html ) そして正しいディレクトリパーミッションを設定します.
mkdir $HOME/public_html
chmod +x $HOME
chmod 755 $HOME/public_html
その後、ユーザーディレクトリでPHPスクリプトを有効にする必要があります.これを行うには、まず
cd /etc/apache2/mods-enabled/
あなたが中にいるとき/etc/apache2/mods-enabled/ ディレクトリを使うls PHP設定ファイルを探します.名前php[version_number].conf :

この例ではバージョン番号は7.4で、PHP 7を編集する必要があります.ユーザディレクトリでPHPスクリプトをアクティブにするには
sudo nano php7.4.conf
次の行を探します.
<IfModule mod_userdir.c>
   <Directory /home/*/public_html>
       php_admin_flag engine Off
   </Directory>
</IfModule>
追加する# UbuntuのユーザディレクトリでのPHPスクリプトの無効化を無効にするために、各行の先頭に立ってください.
# <IfModule mod_userdir.c>
#    <Directory /home/*/public_html>
#        php_admin_flag engine Off
#    </Directory>
# </IfModule>
ファイルは次のようになります.

プレスControl-O ファイルを保存するControl-X テキストエディターを終了します.
同じディレクトリで、別のApache設定ファイルを編集する必要があります.
sudo nano /etc/apache2/mods-enabled/dir.conf
この行を探す
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
このラインでは、カットアンドペーストインデックス.PHPがインデックスの前に来るようにします.HTML
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
ファイルを保存して終了します.Apacheを再起動する必要があります.
sudo systemctl restart apache2
PHP
ランプスタックの最終部分はもちろんPHPです.
sudo apt install php libapache2-mod-php php-mysql
このコマンドはPHPをインストールするだけでなく、PHPがApacheやMariADBにアクセスするために必要なパッケージです.
新しいランプスタックでPHPコードを実行することができます.これをテストするには、public_html ディレクトリ.ここでは非常に簡単です-が便利です!PHPスクリプトを使用します.
<?php
    phpinfo();
保存するpublic_html ディレクトリ.私の名前はtest.php しかし、あなたはそれを何かを名前を付けることができますファイル名が.php サフィックス.
ブラウザを開き、次のアドレスを移動しますusername Ubuntuのユーザー名とfilename 以下のようにします.
http://localhost/~username/filename.php
私の場合、URLはhttp://localhost/~alvin/test.php . 私のランプスタックは、ブラウザでPHPスクリプトを正常にレンダリングしました.

生産への展開
これらの複雑な手順を実行するだけでPHPのスクリプトをlocalhostにレンダリングすると、PHPのアプリケーションを展開すると同様に複雑であることを想像するかもしれません、あなたは正しいだろう!
PHPで書かれたアプリケーションは、静的アプリをホストするように設計されているNetLifyのようなプラットフォーム上で実行されません.HerokuでPHPアプリをホストして実行することができますが、composer.json それ以外の場合は展開は失敗します.生成するcomposer.json ファイルをインストールして、作曲家を使用する必要があります.どうぞits documentation これを行う方法については、
…の目的composer.json あなたのPHPアプリの依存関係を追跡することですが、たとえあなたのアプリがそのような依存関係を持たなくても、まだcomposer.json あなたのアプリケーションをHerokuに配備したいなら、ファイル.マイMagic 8-Ball HerokuにホストされているPHPアプリは、そのような依存関係を持たないcomposer.json ファイル

しかし、目標を念頭に保つことが重要です.したら、過去を得るのハードルを取得composer.json ファイルは、あなたのポートフォリオの光沢のある新しいPHPアプリがあります!