Oct 1-12 ,Fri 12:22 のフォーマット済みの日付を日付型に逆フォーマットするやつ

 
date_default_timezone_set('America/Los_Angeles');
// 計算するので現地の時間でやる
$usweek = ['Sunday'=>0,'Monday'=>1,'Tuesday'=>2,'Wednesday'=>3,'Thursday'=>4,'Friday'=>5,'Saturday'=>6];
$usmonth = ['Jan'=>1,'Feb'=>2,'Mar'=>3,'Apr'=>4,'May'=>5,'June'=>6,'July'=>7,'Augt'=>8,'Sept'=>9,'Oct'=>10,'Nov'=>11,'Dec'=>12,];

$ending = 'Friday at 11:21PM PDT';  //  入力例1
$ending = 'Oct 12 at 5:14PM PDT';   //      2
$ending = 'Today at 11:57PM PDT';   //      3

$endings = explode(" ", $ending);
$now = new DateTime();

if( array_key_exists( $endings[0] ,$usweek )){
  // 曜日から始まってる
    $apm = substr($endings[2], -2);
    $hmt = str_replace($apm ,'' , $endings[2]);
    $w = date('w', $now->getTimestamp());  //今日の曜日  4 
    $deff = $usweek[$endings[0]] - $w;    //1 日後
    echo date("Y-m-d",strtotime("+$deff day"))," " , date('H:i',strtotime($endings[2])),"
";   //17:21 ok

}elseif(array_key_exists( $endings[0] ,$usmonth )){
    $endday = $usmonth[$endings[0]].'-'. $endings[1].' '. date('H:i',strtotime( $endings[3]));
    if(date("m-d H:i") < $endday){
      echo date("Y") .'-'.$endday;
    }else{ 
      echo date("Y",strtotime("+1 year")).'-'.$endday;
    }
}elseif( $endings[0] == 'Today'){
    echo date("Y-m-d")." " . date('H:i',strtotime($endings[2])) ;
}

 

403 Forbidden Laravel Apache VirtualHost 443 の解決

 
sudo vi /etc/httpd/conf.d/ssl.conf

// ドキュメントルートを/var/www/laravel/publicへ変更
DocumentRoot "/var/www/laravel/public"

<Directory "/var/www/laravel/public">
    AllowOverride All
#       Options Indexes    ←コイツが邪魔をして access forbidden が出ていた
          		    ファイルの一覧をだそうとするのは許可されてないらしい
    Require all granted


$ sudo systemctl restart httpd.service

 

Laravelじゃない場合の対処

 
<VirtualHost *:80>
    ServerName tanaka.org
    DocumentRoot /home/tanaka
    <Directory "/home/tanaka">
	AllowOverride All
        Order allow,deny
        Allow from all
     	 Require all granted ← これを追加する
   </Directory>
</VirtualHost>

 

Wordルビ タグ自動変換 プラグイン

Wordでふったルビをhtmlタグに変換するプラグインです
通常,Windowsでこれをエディタへ貼り付けると

こうなります↓

祗園(ぎおん)精舎(しょうじゃ)の鐘の声(こえ)、
諸行無常(しょぎょうむじょう)の響きあり。
娑羅双樹(さらそうじゅ)の花の色、
盛者必衰(じょうしゃひっすい)の理(ことわり)をあらは(わ)す。
おごれる人も久しからず、
唯(ただ)春(はる)の夜の夢のごとし。
たけき者も遂にはほろびぬ、
偏(ひとえ)に風の前の塵に同じ。

このプラグインを使うと一括でタグへ変換します

システム単独でも使えます

メールアドレス:
お電話番号: - -
会社名:
お名前:
ご予算:
お問い合わせ内容

mysql root パスワードを忘れた場合

$ sudo service mysql stop
    sudo vim /etc/init.d/mysql
		mysqld_safe で検索して、↓この行をコメントアウトし
		   su - mysql -s /bin/bash -c "mysqld_safe > /dev/null &"
		その下に↓こう追加。
		su - mysql -s /bin/bash -c "mysqld_safe --user=root --skip-grant-tables &"
		$ sudo service mysql start
		$ mysql --database=mysql
パスワードを更新
use mysql
UPDATE user SET authentication_string=password('新規パスワード') WHERE user='root';
再設定したパスワードをMySQLに反映させます
	mysql> flush privileges;
	mysql> quit
	/etc/init.d/mysql の コメント状態を元にもどす。
	sudo service mysql restart
	$ sudo mysql -u root -p

パスワード変更

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '好きなパスワード';

Windows system Linux

https://qiita.com/takepong/items/1b39a8096ac3db8012da

Windows Subsystem for Linux を有効にする

まず”Windowsの機能“というウィンドウを開きます。
1. スタートメニュー歯車アイコンをクリックして設定を開く
setIcon.png
2. アプリをクリック

appIcon.png

3. 左側のアプリと機能をクリック(既に選ばれている筈ですが念のため)
akicon.png

4. 設定ウィンドウの幅により、広ければ右サイド、狭ければスクロールした下の方に「関連設定」プログラムと機能という項目があるのでクリック。プログラムと機能というウィンドウが開きます
pkicon.png

5. 左側にWindowsの機能の有効化または無効化という項目があるのでクリック。Windowsの機能というウィンドウが開きます。
wku.png

または
1. スタートメニューからWindows システム ツールの項目の中のコントロール パネルを選ぶ。コントロール パネルが開きます。
menu0.png
2. プログラムという項目にあるプログラムのアンインストールをクリック。プログラムと機能というウィンドウが開きます。
uninst.png
3. 上記5番に同じ

  • コントロール パネルコルタナさんにconと入力して探してもらうという手もあります。

Windowsの機能に無事たどり着いたら、スクロールしていってWindows Subsystem for Linuxという項目を探してください。ここにチェックを入れてOKします。この機能は再起動後に有効になります。再起動を促すダイアログが出てくるので再起動してください。
kinou2.png

  • もしここがWindows Subsystem for Linux (BETA)となっていたら、まだFall Creators Updateが適用されていませんのでWindowsをアップデートしてください。
  • BETA版ではなくなったので、以前のように「開発者モード」にする必要はなくなりました。

Ubuntuをインストールする

Windows Subsystem for Linux(以下WSL)ではストアから複数のディストリビューションがインストールできますが、ここではUbuntuを選びます。(2017年10月現在では他に”openSUSE“、”SUSE Linux Enterprise Server“が選べます)

ストアを起動してubuntuで検索してください。
見つけたらインストールします。
store0.png

スタートメニューからUbuntuを選んで起動します。初回起動時にインストールが始まり、しばらく時間がかかります。インストールが完了すると最後に、ユーザーネームパスワードの入力がありますが、これはWindowsのアカウントとは全然関係はありませんので自由に決めてください。パスワードは確認のため2回入力することになります。パスワードは今後何度も入力することになるので絶対忘れないでください。
ubuntu-inst.png

インストールが終了すると画面にプロンプトが出て入力待ち状態になります。
プロンプトはデフォルト状態では
ユーザー名@ホスト名:カレントディレクトリ$
となっています。ホスト名はWindowsの設定システムバージョン情報で確認できる”デバイス名“が設定されています。
起動時のカレントディレクトリは”~“と表示されていますが、これはユーザーのホームディレクトリで、実際には/home/ユーザー名です。
以下、ここにキーボードからコマンドを打ち込んでプログラム/パッケージのインストールや設定をしていきます。
まずはインストールに使うapt-getを最新にしておきます。apt-getコマンドを使用するには管理者権限が必要になりますのでコマンドの前にsudoをつけて実行します。

と打ち込んでEnterを押すとパスワードの入力が求められるので上で設定したパスワードを入れてください。(一度パスワードを入れてから数分間はsudoコマンドのあとパスワード入力を省略してくれます)
ちなみにこのupdateでaptライブラリが最新版に更新されます。
続いて、インストール済みパッケージを最新バージョンにアップデートします。

アップグレードするパッケージがあった場合、「これこれの容量のディスクスペースを消費するがインストールしてよいか?」というようなことを訊かれますのでyを入力してください。いちいちyを入力するのが面倒な場合は

と、-yを付け加えておくとこちらの返事を訊かずに先に進みます。
アップグレードした結果不要になったパッケージがある場合はそのように表示がされますので、不要パッケージを削除しておきます。


Fall Creators Update以前に既にUbuntuを導入済みのひとへ
コマンド プロンプトPowerShellからbashと打ち込んでインストールした”Bash on Ubuntu on Windows“は、今回インストールした”Ubuntu“とは別インスタンスになります。前者は将来的には廃止方向ということなので適宜新環境に移行しましょう。

参考:
What’s new in WSL in Windows 10 Fall Creators Update – MSDN Blogs


Apacheをインストールする

LAMPL(Linux)の導入が終わりましたので次にA(Apache)をインストールします。

以下、インストール時には「これこれの容量のディスクスペースを消費するがインストールしてよいか?」というようなことを毎度訊かれますのでyを入力してください。いちいちyを入力するのが面倒な場合は upgrade の時と同じようにコマンドに -y をつけておくと質問を省略できます。
インストールが終了したら、動作確認をしてみましょう。
ApacheはWebサーバーなので、まずサービスを立ち上げます。

無事起動すると

Starting Apache httpd web server apache2

と表示されます。その下に

AH00076: Failed to enable APR_TCP_DEFER_ACCEPT

と警告が出ますが今は無視しておきます。Apacheが起動したら、普段使っているWebブラウザを立ち上げてください。(Edge/IE/Chrome/FireFoxなど)
アドレスバーにlocalhostと入力してエンターを押してみてください。
apache.png
無事にApache2 Ubuntu Default Pageが表示されれば成功です。
(表示されるファイルは/var/www/html/index.htmlです。)

なお、サービスの停止は

再起動は

setcookie php secure httponlyのサンプルコード

 
 //ここまでに通信bodyに出力がなにもないことが条件
session_start();
 
 $time=time()+3600*240;
      setcookie('_user[0]' ,"44",$time,"/","","","");
      setcookie('_user[1]' ,"Jackey",$time ,"/","",true );
      setcookie('_user[2]' ,"guest",$time ,"/","",true,true);

 header("Content-type: text/html; charset=UTF-8");

print_r($_COOKIE);
?>
引数の 5 はdomain 省略するとサブドメインは含めいない
6 セキュア属性 SSLのみでやり取りする
7 httponly属性 下のスクリプトでは表示されない

 <script>
   
   console.log(document.cookie);
 </script>