nginxをrestartしたら「Failed to start The nginx HTTP and reverse proxy server.
」というエラーが。
nginxのconfファイルを見直したり、php-fpmの再起動や、selinuxの無効化等色々試したがエラーは消えず、
# systemctl status nginx.service
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/nginx.service.d
└─php-fpm.conf
Active: failed (Result: exit-code) since Fri 2023-11-17 23:34:13 JST; 18s ago
Process: 1319317 ExecReload=/bin/kill -s HUP $MAINPID (code=exited, status=0/SUCCESS)
Process: 1501969 ExecStart=/usr/sbin/nginx (code=exited, status=1/FAILURE)
Process: 1501968 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 1501966 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 2275107 (code=exited, status=0/SUCCESS)
〜〜〜
11月 17 23:34:13 118-27-106-164 systemd[1]: nginx.service: Failed with result 'exit-code'.
11月 17 23:34:13 118-27-106-164 systemd[1]: Failed to start The nginx HTTP and reverse proxy server.
だけどなぜか、ブラウザからwebアクセスしたら問題なく動いている。
phpも問題ない。
なんか変だなと思い最終手段でrebootしたら、、、、改善しました。💦
Laravel デバッグTIPS
php側
web画面で、dump($arr)で配列やオブジェクトの中身をチェックする
dump($obj);
web画面でデバッグ表示できない場合はlogファイルに出力
Log::debug(__FILE__ . __LINE__ . $str);
storage/log/〜に出力される。
頭にスラッシュをつけると、use LogしなくてOKっぽい
use Log;
↓
\Log::info();
// ログに配列を展開して吐き出す
Log::debug(print_r($arr, true));
// オブジェクトも可能
Log::debug(print_r($object, true));
view上(blade)でデバッグ
{{dd($arr)}}
SQLの確認
$sql = DB::table('users')
->where('status', '<>', 1)
->toSql();
var_dump($sql);
Redisのデータを画面で簡易的に操作できるphpRedisAdminをCentOS7+nginxにインストール
いままでphpスクリプトで、redisのデータをいじっていましたが、
さすがに大変なので、GUIで確認できるツールがないかと探したらありました。
phpMyAdminならぬ、phpRedisAdmin!
簡易的にRedisのデータを確認・変更・削除したいなら便利かも!
で、早速インストール方法
こちらの環境で導入した際のメモ ..φ(..)メモメモ
- CentOS7
- nginx + php-fpm
おおもとのドキュメントはこちら(こっちみればええやん汗)
https://github.com/erikdubbelboer/phpRedisAdmin
1. ソースを落とす
git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git
cd phpRedisAdmin
git clone https://github.com/nrk/predis.git vendor
当たり前かもだけど、vendorもcloneしてね
2. あとはドキュメンルートに設定して、ブラウザから見れるようにと、アクセス制限
下記は、/etc/nginx/conf.d/〜〜.conf等に設定
server {
listen 80;
server_name phpredisadmin.hogehoge.com;
root /usr/share/nginx/hoge/;
index index.html index.htm index.php;
location /phpRedisAdmin {
allow アクセス元IP;
deny all;
}
}
php7にしたらphp7からRedisが呼び出せなくなった時のメモ
よくある下記からphpからredisを使えるようにする処理のところで、
$redis = new Redis();
こういうphpエラーがでる。
PHP message: PHP Fatal error: Uncaught Error: Class 'Redis' not found in /usr/share/nginx〜
今回の環境構成は、
で
yumで、全てインストールできるようにこだわっていたのですが、
なぜかphp7からredisがよびだせず、ちなみに、コンソールで、
redis-cliなどでredisを動かすことはできている。。
php5系の時は普通に動いていたのですが、
php-redis等のモジュールを系を入れ替えしてためしてみると、
yum install --enablerepo=epel,remi-php70 php70-php-pecl-redis
ではだめでしたが、
yum install --enablerepo=epel,remi-php70 php-pecl-redis
で、無事php7からredisを呼び出せるようになった。。
依存関係ハマりやすい。
Cakephp3をCentOS7( php7 + php-fpm + nginx + MySQL )にインストールした際のメモ
大分出遅れた感がありますが、最近cakephp3のサービスを構築したので、
それを兼ねてメモ。
早速、cakephp3の公式サイトでインストール方法を確認。
http://book.cakephp.org/3.0/ja/installation.html
システム要件を確認すると。。。
システム要件
HTTPサーバー。例: Apache。mod_rewrite が推奨されますが、必須ではありません。
PHP 5.5.9 以上 (PHP 7 も含む)
PHP mbstring 拡張
PHP intl 拡張
…(PHP 7も含む)!
せっかくなので、速いとウワサのphp7に、php-fpmと、nginxの構成で、
yumでインストールしてみました!!
CSSで最初の一文字目を指定する方法
最近なってはじめて知ったのですが、
よく記事などで、一文字目が大きくしているサイトがあるのですが、
いままでPHPなどスクリプトでイジッテいるのかとおもってましたが、実はCSSだけでできた事に最近気づきました。
タイトル・・・
上記のようにしたい場合。
.title:first-letter{
font-size:20px;
background-color:#eeeeee;
}
:first-letterと追記すれば一文字目だけのCSSを指定することができます。
上記例では、class=”title” の一文字目を背景グレーのフォントサイズ20pxにしています。
php 可変変数 変数名を変数で作るメモ
PHPでたまに変数名を動的に扱い場合があるのが、
よく忘れるのでメモ!
$hoge = 'foo'; //今回表示する変数を作成 $a = 'ge'; //変数名の一部を作るための変数 echo ${'ho'.$a}; //hoという文字列に$aの内容で変数名を指定し、echo
phpでSSH接続して、コマンドを投げるメモ
PHPでプログラムから、外部サーバーへのSSHで、コマンドをなげたいケースがある。
そういう際に、知っておくと便利なコマンド「ssh2_connect」
下記はサンプルのPHPプログラムです。
ssh2_connect.php // ssh接続して、ファイルのパーミッションをチェックするサンプル $ok = ""; $ng = ""; $connection = ssh2_connect('192.168.1.1', 22); ssh2_auth_password($connection, 'user', 'pass'); $stream = ssh2_exec($connection, 'echo `ls -l /home/test/call.agi` | cut -d" " -f1'); $errorstream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR); stream_set_blocking($stream, true); stream_set_blocking($errorstream, true); $ok = stream_get_contents($stream); $ng = stream_get_contents($errorstream); //エラーがあれば表示 if($ok == "-rwxrwxrwxn" && !$ng) { echo "OK"; exit(); } echo "NG";
twitter APIでxmlの取得失敗時の対処メモ
twitterのAPIを利用する時によく使うxmlでの取得対策用にメモ。
PHPでこんな感じでかいてます。
<?php try{ $xml = simplexml_load_file($url); if(!$xml){ throw new Exception("XMLを取得できせん"); } }catch(Exception $e){ echo $e->getMessage(); } ?>
PHP 可変変数使いどころ
${"var"} = "123";
PHPの可変変数を使えば、変数名をいじって利用できる、特にループ処理などに有効活用できる。
foreach($device as $key => $val){ $RESULT_ = "result".$key; //可変変数名 echo $RESULT_; print_r(${$RESULT_}); }
$result1 $result2 $result3 ・・・・
の配列が1つのループで出せます。
一応メモ!