Tag phpを表示しています。
2020.10.8 木
ユーザーにメールの設定をしていなくてパスワードの再発行できなかったり、そもそもユーザー名自体がわからないとかそういう場合の対処方法です。普通にDB見てユーザーのレコードを更新してあげればOKです。 対象のテーブルは以下。 wp_users 使うカラムは、ユーザー名、パスワード、Eメールの部分だけです。 パスワードの再発行はwordpressのアルゴリズムに従って作成します。MD5()を使うらしいです。 phpmyadminがある場合は、MD5でハッシュ化してしまえばいいって話でした。(実際楽でした) パスワードのリセット
2020.10.6 火
PHPからGoogleのスプレットシートにDBのようにアクセスする方法です。巨大なデータには向いていないけど、ちょこちょこしたデータや権限管理を要するデータの取得にはとても便利です。 Google Sheets API GoogleのAPIで「Google Sheets API」というものがあります。これを利用します。
2020.9.30 水
composerの使い方で、composerが使えるようにしておいてください。 Packagist: phpmailer/phpmailer Github: PHPMailer/PHPMailer
2020.9.30 水
root権限がなくてもいろんなライブラリーをおとしてくることができるっていうやつです。 https://getcomposer.org/ composerを使った開発 ここがわかりやすいです。 http://blog.monochromegane.com/blog/2013/06/02/development-php-composer-library-at-packagist-1/ composerの使い方 composerのダウンロード すでに設定が終わっている場合はダウンロードの必要はないです。 curl -s http://getcomposer.org/installer | php composer.pharというファイルが落ちてくるので、実行できるか確認してみます。 $ php ...
2020.8.10 月
管理画面のパスワードを紛失した場合は、パスワードハッシュを一時的に平文に戻すことで、対処可能なようです。 $ vi app/config/eccube/packages/eccube.yaml (27行目あたりのeccube_auth_typeをPLAINに変更) eccube_auth_type: HMAC ↓ eccube_auth_type: PLAIN データベースの dtb_memberテーブルから暗号化されたpasswordとlogin_idをコピーします。 login_id: USER_ID password: xxxx4e6cxxxxf3d6xxxx1569xxxx72dcxxxx76f1xxxxea44xxxxc631xxxxf9f4 このパスワードをそのままパスワードとし...
2020.8.7 金
phpのモジュールでssh2が入っていればphpでssh接続できます。 $ php -m | grep ssh ssh2 入っていない場合はインストールしないと駄目です。これの続き # yum -y install --enablerepo=remi,remi-php73 php-pecl-ssh2 接続方法は、パスワードの場合はこんな感じ。 $connection = ssh2_connect("192.168.xxx.xxx", "22"); ssh2_auth_password($connection,"username", "xxxxxxxxx"); $sftp = ssh2_sftp($connection); $dh = opendir("ssh2.sftp://$sftp/va...
2020.8.4 火
結局Macも既存のPHPがなかなか使いづらいというところがあるので、Homebrewで新たにPHPをインストールしてそれを使うっていう方が格段に使いやすいという話になってしまうというお話です。 PHP7.3のインストール MacはデフォルトでPHPがインストールされていますが、モジュールを追加したりするには結構面倒なことをしないといけないので、brewでパッケージごと入れた方がいいです。 brewからインストールすると以下のパスにPHPが格納されますが、 $ which php /usr/local/opt/php@7.3/bin/php デフォルトのままだと以下に設定されています。 $ which php /usr/bin/php HomebrewからPHPをインストールする brewのア...
2020.8.3 月
というのも、データベースのコマンドとかでターミナル上とかで表示させるとフォーマットがひどい感じになる(特にOracleなんかはひどい)ってことがよくあるので、適当な区切りをタブフォーマットとかにしたいなと思っただけです。 ^(.+?)[\t\n\r\f\s ](.+?)$ となるっぽい。なので、 preg_match("/^(.+?)[\t\n\r\f\s ](.+?)$/",$str); とかかな。
2020.6.13 土
Macの場合はDocker環境をつくるのは比較的容易です。(Windowsの場合はかなりつらい。)こういうときはMacでよかったなと思います。 公式ページ: https://www.docker.com/get-startedからMac用のパッケージをダウンロードします。 × Close パッケージなのでそのまま手順に従ってインストールすればOKです。インストールが完了すると、デスクトップの上部バーに自動的にアイコンが登録されます。 Dockerのコマンド Dockerのコマンドがちゃんと使えるか確認します。バージョンが確認できたら使える状態になっています。 $ docker --version Docker version 19.03.8, build afacb8b 次に自分...
2019.12.15 日
プロロジェクトを開く [command] + o ファイル検索
2019.10.24 木
PostgreSQLにリモートホストから接続する方法です。インストール時のデフォルトではlocalhostのみの接続ができるようになっていますが、リモートホスト側の設定はされていません。 リモートホストからDBサーバーへのネットワークの確認 まずはリモートホスト側からDBサーバーへアクセスしてみます。nmapなどで通信自体とポートの確認をしておきます。 PortチェックテストのようなWEBツールもあります。 $ nmap TARGET_HOST ... 5432/tcp open postgresql ... 疎通できない場合は複数の原因が考えられるので、Firewallの設定やPostgreSQLのサービスの起動などいろいろ確かめる必要があります。今回この部分は割愛。 postgresql...
2019.10.24 木
PostgreSQLに接続する postgresqlに接続するモジュールが入っているか確認してください。 # php -m | grep pg pdo_pgsql pgsql ここらが入っていたらOKです。通常デフォルトでインストールされているので問題ないでしょう。 もっともプレーンな方法で接続してみます。 <?php echo "try to connect postgresql.\n"; $DBHOST = "127.0.0.1"; $DBPORT = "5432"; $DBNAME = "user"; $DBUSER = "dbname"; $DBPASS = "xxxxxxxx"; try { $dbh = new PDO("pgsql:host=$DBHOST;port=$D...
2019.9.16 月
php artisan tinkerを実行すると以下のようなエラーで実行できないことがあります。 In Configuration.php line 363: [ErrorException] mkdir(): Permission denied -vvvvをつけて、デバックモードでコマンドを実行してみます。 $ php artisan tinker -vvvv In Configuration.php line 363: [ErrorException] mkdir(): Permission denied Exception trace: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() at n/a:n...
2019.9.16 月
CentOS7でapacheを動かしている環境です。PHPは7.2.17で動いています。 laravel5でtinkerを実行すると以下のようなエラー(Warning) $ php artisan tinker PHP Warning: Module 'ssh2' already loaded in Unknown on line 0 ssh2が二重に読み込まれているっぽいので、エクステンションの部分を検索してみる。/etcあたりを検索。 $ find ./etc -type f | xargs grep "ssh2.so" ./php.d/ssh2.ini:extension=ssh2.so ./php.d/20-ssh2.ini:extension=ssh2.so どっちかが無駄っぽい気...
2019.3.28 木
maatwebsite/excelっていうパッケージがあってLaravelで開発するぶんには何もしなくてよいです。 https://github.com/Maatwebsite/Laravel-Excel https://packagist.org/packages/maatwebsite/excel インストール インストールします。(2019-03-28現在の最新版は3.1.10でした) php composer.phar require "maatwebsite/excel:~3.1.10" 後述しますが、3系のパッケージは読み込みの機能がなくなったようです。(前回の方々がなんで?って言ってます) ですので、エクセルの読み込み機能が必要なときは2系のパッケージをインストールしないと駄目...
2019.3.25 月
docker-compose.ymlで以下のように設定します。 .... phpmyadmin: image: phpmyadmin/phpmyadmin environment: - PMA_ARBITRARY=1 - PMA_HOST=mysql - PMA_USER=root - PMA_PASSWORD=SET_PASSWORD links: - mysql ports: - 8080:80 volumes: - /sessions 最終的にはこんなようなカタチになります。 version: '3' services: wordpress: image: wordpress:latest ports: - "3001:80" environment: WORDPRESS_DB_NAM...
2019.3.23 土
WordPressの環境はもう年間何回作ってるんだといった感じで、WEBのサービスとしてはかなりメジャーになってしまいました。 $ docker pull wordpress $ docker pull mariadb docker-compose.ymlを作成してプロジェクトディレクトリ直下においておく。 記述は以下のようにします。ちょっと解説すると、mysqlのデータベースとWordpressrをつなぐので、DB名とユーザー名とパスワードは同じものを設定します。同じものであれば任意の設定で構いません。 docker-compose.yml version: '2' services: wordpress: image: wordpress:latest ports: - "3001:80...
2019.3.20 水
リダイレクトはかなり便利になってます。これはヘルパー関数になるのだと思われ。 普通のリダイレクトはこのような形になります。http://example.com/page/indexにリダイレクトされます。 return redirect('page/index'); https://blog.capilano-fw.com/?p=566
2019.1.7 月
WordPressのアクションフックの話なので特に説明も何もないんですが備忘録して。 今回の趣旨はマニュアルや資料をWordpressを使ってコンテンツを整理しておきたく、また資料はmdで保存しておきたいというのがありました。このブログもそうですが、手順書やマニュアルといったものは過去の履歴を含めて保存しておきたいのですが、Wordpressのリビジョン機能は履歴のバージョン管理ではないので、厳密な管理ができない。ですのでファイルで出力しておいてWordpressのコンテンツごとファイルでその履歴を管理してやろうという魂胆です。バックアップにもなる。 また今回はMarkdown変換のプラグインにJP Markdownを利用しています。 WordPressの記事保存時のアクションフック フック...
2019.1.3 木
これは案外難しい。ちょっと考えただけでは駄目でした。 例にある通りだと以下のようになり、英数字のハッシュタグは所定のアンカーリンクに変換できます。 $test = preg_replace("/(?<![0-9a-zA-Z'\"#@=:;])#(\w*[a-zA-Z_])/u", "<a href=\"http://search.twitter.com/search?q=\\1\">#\\1</a>", $test); これに数字と日本語を加えると $textarea = preg_replace("/(?<![0-9a-zA-Z'\"#@=:;])#(\w*[a-zA-Z_0-9ぁ-んァ-ヶ\x{3005}\x{3007}\x{303b}\x{3400}...
2019.1.2 水
Parse error: syntax error, unexpected '?' in ... PHPのバージョンが古い疑い。php5.3とか使って新しいフレームワーク使おうとしているとか。
2018.12.24 月
Laravelのキャッシュシステムは抜群に使いやすくなっているのでほとんどの場合使うことになると思います。PHPそれ自体でキャッシュを使う場合はroot権限相当で多くの作業が必要なのですが、Laravelはそこらあたりをとても簡単にまとめてくれています。ベンチマークはとっていないので実際速いのかどうかという問題はあるかもしれないですが、比較的小規模なwebアプリの場合はほとんど問題のない速さで使えています。 キャッシュの種類はたくさんあって必要なキャッシュシステムはすべてサポートしています。また裏側のキャッシュシステムがどうあれLaravel上でのキャッシュ扱い方は非常に容易です。 apc PHPのあのキャッシュ array ただ配列にぶっこむだけ Redis う、玄人っぽい(というかちゃん...
2018.12.19 水
PhpStormの日本語化(Windows環境・Pleades利用) Download PhpStorm 【PhpStorm】無料でPhpStormをインストールする方法 PhpStormの使い方
2018.12.10 月
コマンドクラスの作成 コマンドのクラスを作成します。 php artisan make:command monitorAppStatus app/Console/Commands/monitorAppStatus.phpが作成されます。 このクラスをartisanで実行するためにはこのクラスファイルの$signatureを書き換えます。 protected $signature = 'command:name'; ↓ protected $signature = 'monitor:app'; これでphp artisan monitor:appで実行できるようになります。 コマンドの中身を作成 コマンドの実際の中身の作成は、このクラスファイルのhandle()部分に書きます。 public ...
2018.11.14 水
これやたらとよく使うけど毎回忘れる。 $title_count = mb_strlen($title,"UTF-8"); $title = $title_count < 20 ? $title : mb_substr($title, 0,20)."..."; タイトルの文字数が20文字以下だったらそのまま出力。20文字以上だったら20文字に丸めて「…」をつけて出力。
2018.11.13 火
設定ファイルのデフォルトの状態のバックアップは必ずとっておく。 # cp -p /etc/php.ini /etc/php.ini.org Error表示関連 画面にエラー表示をする display_errors = Off ↓ display_errors = On たぶんデフォルトのままでよし。 error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT /var/log/httpd/errorあたりのログに出力するやつ。たぶんデフォルトのままでよし。 log_errors = On php関連のエラーログを有効にする ;error_log = php_errors.log ↓ error_log = php_errors.lo...
2018.11.8 木
とかいうタイトルですが普通にhttpプロトコルでリクエスと投げてレスポンスが返ってくるというだけの話です。RESTという観点で言えば認証のところがちょっとおもしろいというだけです。いわゆるあのRESTFULLでセッションを持たないという考え方です。それ以外は別に特に何も考えなくていいです。 ルーティングとエンドポイント APIのエンドポイントの設定です。 Route::get('/foobar/search/standard', function(){ echo "foobar"; }); “/foobar/search/standard”にアクセスしたら、Laravelはデフォルトで”/api/foobar/search/standard”が...
2018.10.30 火
つまりはもうフルスクラッチでなんかかけませんということなのです。 Composer Composerの入手 curlがあると楽。 $ curl -s http://getcomposer.org/installer | php 何もない場合は、 Download Composerから入手。 このコマンドのどれかで落ちてくると思います。 $ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $ php -r "if (hash_file('SHA384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8...
2018.10.24 水
PHP7でOracleに接続するでPHP7からの接続はできるようになりました。 LaravelでOracleを使うときの具体的な手順を解説します。 パッケージのインストール 必要なパッケージはこれ。 – Packagist: yajra/laravel-oci8 – Github: yajra/laravel-oci8 $ php composer.phar require yajra/laravel-oci8:v5.7.2 どうやらこれだけで動くっぽいです。 Databese接続パラメータの設定 例によってconfig/database.phpに設定します。Oracleはデフォルトで設定項目がない(配列に入っていない)ので自分で追加してあげる必要があります。 'co...
2018.10.23 火
oci_connect()はデフォルトのPHPには含まれていない関数なのでoci8とpdo_ociのインストールが必要です。 Instant Client18.3 oci8 pdo_oci オラクルクライアント(Instant Client)のインストール まずは普通にコマンドラインからつながるようにしておきます。どっちにしろ開発で使うので。 Oracle Instant Client mysqlとかだったら特にクライアントとか意識せずにClientとRemoteの両方のマシンにmysqlをインストールしてしまえばいいんですが、Oracleは面倒です。まずはOracle Instant Clientでsqlplusでもってコマンド上でログインして操作できるようにしてみます。 Instant ...