- 投稿日:2021-10-31T23:27:49+09:00
VirtualBox+CentOSでApache・PHP・MySQLをインストール
何をしているか Mac上でVirtualBoxの仮想環境にCentOSをインストールが完了している状態からスタートしています。 Apache・PHP・MySQLをインストールするところまでをおこないます。 環境情報 ホストOS:MacOS Big Sur 11.5.2 ゲストOS:CentOS7-x86_64 VirtualBox 6.1.28 Apache 2.4.6 PHP 7.4 MySQL 5.4 apacheのインストール インストール 実行コマンド yum install -y httpd complete!と表示されれば完了。 apacheの起動 実行コマンド systemctl start httpd.service 起動確認 実行コマンド systemctl status httpd Active: active(running)と表示されていればOK 自動的に起動するように設定したい場合 実行コマンド systemctl enable httpd.service サーバにアクセスするためFirewallを解放する 実行コマンド firewall-cmd --add-service=http --permanent ここまでで一旦、VirtualBoxで立ち上げたサーバをシャットダウンします。 実行コマンド shutdown -h now サーバにアクセスするためのネットワーク設定 「localhost:8889」と入力し、仮想環境で立ち上げたサーバにアクセスできるようにしたいため、VirtualBoxの仮想環境の設定を変更します。 対象の仮想環境を選択し、「設定」→「ネットワーク」でネットワークの設定画面を開き、割り当てを「NAT」にします。 「高度」をクリックすると、下に設定項目が表示されるので「ポートフォワーディング」をクリックします。 下図のように設定します。 ※sshの穴も開けておくと、ホストOSからゲストOSのサーバにssh接続できるので便利です。 任意のブラウザを開き「localhost:8889」と入力し、仮想環境に構築したサーバにアクセスします。 下図が表示されればアクセス成功です。 ホストOSからsshで接続する 先程のポートフォワーディングで、sshの穴を開けていれば、ホストOSからssh接続が可能です。 実行コマンド ssh -p 2021 root@localhost VirtualBoxで立ち上げた仮想環境は、拡張機能を追加しないと、ウィンドウサイズが固定で、コピー&ペーストもできません。 sshで接続すると作業が捗るためおすすめです。 PHPのインストール Remi repositoryをインストール 今回、PHPは7.4をインストールしたいのですが、CentOS7で「yum install php」とするとphp5.4.16がインストールされてしまいます。 Remiという方が作成したレポジトリを使うことで、PHP7系をインストール可能です。 下記コマンドを実行し、Remi repositoryをインストールします。 実行コマンド yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm PHP7.4をインストール Remi repositoryがインストールされていれば、そのレポジトリを使ってphp7.4がインストール可能です。 実行コマンド yum -y install --enablerepo=remi,remi-php74 php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-pecl-mcrypt php-mysqlnd php-pecl-mysql インストールを確認 実行コマンド php -v PHP 7.4.25 (cli) (built: Oct 19 2021 15:18:10) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies PHP 7.4.25がインストールされていることを確認。 phpの動作確認を行う まずはapacheを再起動します。 :実行コマンド systemctl restart httpd phpのドキュメントルートはCentOS7では「/var/www/html/」です。 ドキュメントルートにtest.phpを作成します。 実行コマンド vi /var/www/html/test.php phpinfoを表示するよう下記コードを記入して保存 test.php <?php phpinfo(); ブラウザを開いて「localhost:8889/test.php」にアクセス。 PHP Version 7.4.25が表示されれば、PHPの動作確認はOK。 MySQLのインストール mariaDBを削除 デフォルトでmariaDBがインストールされています。 競合を避けるためmariaDBを削除します。 実行コマンド yum remove mariadb-libs インストール CentOS7を使用しているため「el7」を選択します。 実行コマンド yum install -y http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm 実行コマンド yum install -y mysql-community-server 起動 実行コマンド systemctl start mysqld 自動起動の設定 実行コマンド systemctl enable mysqld 以上で、Apache+PHP+MySQLのインストールは完了です。 参考にさせていただいたサイト https://qiita.com/karaimonoOitii/items/9ccbec9685b44d589972 https://www.hiroski.com/2020/04/202004-php74-install.html https://manabiact.com/virtualbox-lamp-setup/
- 投稿日:2021-10-31T15:11:42+09:00
PHP
おねがい この記事は自分用のメモで書いています。未熟なためウソが交じることがあると思います。 閲覧の際はふーん程度に留めておいていただければと思います。 変数の作成 ・型宣言不要。 ・変数名の先頭に数字は不可。 //変数作成 $moji="こんにちは"; //文字列 $number=1234; //整数 変数の参照方法 ・echo()かprint()で可能。 ・双方とも同じっぽい。 ・' 'か" "で括るかで参照結果が変わる。 $number="こんにちは"; echo '<p>$number'; echo "<p>$number"; print '<p>$number'; print "<p>$number";
- 投稿日:2021-10-31T09:51:53+09:00
【PHP】外部サーバーにあるファイルの存在確認をする方法
概要 自サーバーのファイルの存在確認は、「file_exists関数」で可能ですが、外部サーバーのファイルの存在確認する方法をシェアします。 方法1 「file_get_contents関数」でURLを指定して、外部サーバーのファイルの存在確認をします。 <?php if (file_get_contents($url)) { echo 'ファイルが存在します'; } 方法2 「get_headers関数」でURLを指定して、外部サーバーのファイルの存在確認をします。 方法1の「file_get_contents関数」でもファイルの存在確認ができますが、GETメソッドは画像や動画等の大きなサイズのファイルへアクセスした際に速度が遅くなるデメリットがあります。 以下の「get_headers関数」ならHEADメソッドを使用するため、ファイルサイズを問わずに一定の速度を実現することができます。 <?php $headers = get_headers($url); if ($headers[0] === 'HTTP/1.1 200 OK') { echo 'ファイルが存在します'; }
- 投稿日:2021-10-31T09:03:52+09:00
【PHP】PHPでREPLを使うには?
REPLとは? REPLとは「Read-Eval-Print-Loop」の略です。 コマンドラインからプログラムを1行づつ実行できる機能のことです。 REPLが役立つ場面 関数の使い方を調べるとき 例えば、print関数等初めて使用する関数の動作確認したいときに、REPLを使用することで簡単に確認することができます。 関数の仕様の確認 変数の真偽判定をする際にissetを使用することで正しい判定を行ってくれるか確認できます。 REPL使用方法 php -aコマンドで起動できます。 ~ php -a Interactive shell php > $value = 'Hello'; php > echo $value; Hello 最後に 初心者だけでなく、PHPの動作確認等、便利なのでオススメです。
- 投稿日:2021-10-31T02:36:23+09:00
LaravelのテストでAssertSeeが通ったり通らなかったりした【備忘録】
クォーテーションが入ってるダミーデータが生成されると通らない Laravel 6でファクトリーを使って生成した文字列データをAssertSeeでテストすると通ったり通らなかったり。 確認したところクォーテーションが入ってるダミーのみ通っていないっぽい。 ファクトリー $factory->define(Sample::class, function (Faker $faker) { return [ 'name' => $faker->realText(10), ] テスト $response->assertSee($Sample->name); ヘルパーファンクションをつかって特殊文字のエスケープ テストをこうする $response->assertSee(e($Sample->name)); e()で特殊文字をエスケープしてテストすることができる 参考