edo1z blog

プログラミングなどに関するブログです

PHP

neovimでPHPの開発が出来るようにする

前提 coc.nvimを使います。 coc-phplsを使います。 上記2つはインストール済みとします。 環境はMac M1です。 Formatterの設定 vim-phpfmtというのを使いました。 phpcbfを使うので、composerでインストールしました。 init.vimの設定 下記設定をして、,pで…

VSCodeでPHPのデバッグする

VSCodeでXdebugを使うためのlaunch.jsonの設定内容についてメモいたします。 { "version": "0.2.0", "configurations": [ { "name": "Listen for Xdebug", "type": "php", "request": "launch", "port": 9000, "pathMappings": { "/var/www/hoge/": "${works…

プログラムについて分かることは何でも回答いたします!!!PHP, Vue.js, MySQL, Firebase, cakePHP, Laravel, GCP, Stripeなど

MENTAで、プランを作成しました。MENTAは有料でメンターになれるサービスで、プランを投稿すれば誰でもメンターになれます。 menta.work 自分は全部独学なのですが非効率なのは間違いなく、かといってちょっと質問したくても最適な人が近くにいるわけでもな…

Dockerとphpstormでxdebugを使う

環境 Ubuntu18.04 Docker (php7.2, apache2) PhpStorm Chrome 設定方法の概要 phpのサーバに、xdebugをインストール php.iniをxdebugが利用できるように設定する phpstormを設定する 設定方法詳細 参考 qiita.com Dockerfile RUN pecl install xdebug を追加…

php-fpmの設定

下記のようなエラーがでたので、php-fpmの設定を調整します。 [pool www-data] server reached pm.max_children setting (5), consider raising it [pool www-data] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), …

Google Cloud VisionでOCRする

CLOUD VISION API PHP用のライブラリを使ってみる Cloud Vision API Client Libraries (APIリファレンス)Google\Cloud\Vision\VisionClient $ composer require google/cloud $ gcloud auth application-default login $ vim cv.php $ php cv.php サンプルコ…

windowsのphpでcURLが使えないエラー

windows10でPAY.JPのPHP SDK使ってみたら、下記のエラーが出ました。curlのSSL証明書の設定みたいなやつでした。 Fatal error: Uncaught exception 'Payjp\Error\ApiConnection' with message ' in D:\xampp\htdocs\payjp\vendor\payjp\payjp-php\lib\HttpCl…

購買型クラウドファンディング構築システム『Fundee』をつくりました

Fundeeとは? 購買型のクラウドファンディングサイトを簡単に作成できるパッケージシステムです。PHPで作成されており、フレームワークはcakePHPを使っています。ソースコードの難読化などはもちろんしていませんので、自由にカスタマイズしていただけます。…

cakephp2 - database.phpの情報でmysqlのpdoで接続する

cakephp2で、database.phpの情報でmysqlのpdoで接続する方法。 下記で、database.phpで設定している内容を取得できる。 include_once APP.'Config'.DS.'database.php'; if(class_exists('DATABASE_CONFIG')) { $this->db_config = new DATABASE_CONFIG(); } …

Xampp windows10 PHP sendmail 設定 (gmailを使う)

php.iniの設定と、sendmail.iniの設定をして、stunnelをインストールして、stunnel.confを設定する。 php.iniの設定 php.iniの場所は、xampp/php/php.ini [mail function]という箇所を下記のようにする。 [mail function] SMTP=localhost smtp_port=465 send…

vimでphpを使う

参考:VimでのPHP開発環境 PHP開発に便利なプラグイン NeoBundleでプラグインを入れられるようになったので、上記を参考に、PHP開発に有用そうなプラグインを入れてみます。 Shougo/neocomplete.vim 関数名とか補完してくれるやつ。 Shougo/neosnippet.vim …

mac - phpを7.0にバージョンアップ

macは、10.11.5、El Capitanです。 現在のバージョンを確認 $ php -v PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20121212/php_mysql.dll' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-2…

Zend_Pdfで作成されるPDFのファイルサイズを小さくする

Zend_Pdfで日本語が含まれるPDFを作成するとファイルサイズが5MB近くになる場合があります。日本語のフォントが全部PDFに含まれるからだそうです。 参考:http://framework.zend.com/manual/1.12/ja/zend.pdf.drawing.html 日本語フォントをセットする際に、…

Nginx・PHP - アップロードファイルの最大サイズの変更

参考:nginxで"client intended to send too large body"が発生した時の対策方法 参考:最大アップロード容量を変更する Nginxは、/etc/nginx/nginx.confの、下記を変更する。なかったら、http, server, locationコンテキスト内に追加する。 client_max_body…

FFmpeg - mac・PHPで使う

macのバージョンは、10.11.4。El Capitan。 参考: Mac OS XでFFmpegのインストールとWebM動画の作り方 brewでインストールした。ここまで長いオプションは必要ないのかもしれない。 brew install automake celt faac fdk-aac git lame \ libass libtool lib…

fuelphp 1.8 - トランザクション

参考:http://fuelphp.jp/docs/1.8/classes/database/db.html DB::start_transaction(); DB::commit_transaction(); DB::rollback_transaction();

fuelphp1.8 - コアクラスのカスタマイズ

参考:http://fuelphp.jp/docs/1.8/general/extending_core.html#extend_and_replace type="file"のformに、「required」というバリデーションルールを適用しても、うまく動作しない。ファイルをアップロードしても、ファイルがアップロードしたことにならな…

fuelphp 1.8 - カスタムバリデーション

どうも、Uploadをすると、Uploadクラスのバリデーションを使うことになりますが、これとfieldsetのValidationクラスとの連動がいまいちうまくできない。Fieldsetはform.phpの、inline_errorsをtrueにすると勝手にエラーを表示してくれるが、このエラーに自動…

fuelphp1.8 - Formとバリデーション

fieldsetを使うと、入力した内容を保持できるし、バリデーションチェックも簡単に行える。エラーも自動で表示できる。core/config/form.phpにformを表示する際のHTMLの設定が書いてあるので、これをシンプルにすることで、多様なデザインにもデザイナがview…

cakephp2 - csvダウンロード

CsvHelperがあります。 https://github.com/dai199/cakephp-csv-helper 書き方は、下記のような感じになります。(上記GitHubの使い方の説明を引用) Csv->addRow($th); foreach($td as $t) { $this->Csv->addField($t['User']); // .... 行を追加していく $…

zendのログ出力

$logger = new Zend_Log(); $writer = new Zend_Log_Writer_Stream('php://output'); $logger->addWriter($writer); $logger->log('<pre>' . print_r($hoge, 1) . '</pre>', Zend_Log::INFO); return;

PHP - mailのタイトルが文字化けする

PHP

参考:mb_encode_mimeheaderの都市伝説を検証する 1.mb_internal_encodingの文字コード 2.mb_encode_mimeheaderに渡す文字列の文字コード 3.mime変換する最終文字コード この中で、1と2が一致している必要があるだけであって、3は独立していてOKです。 …

nginxでphpを使う(CentOS6.5)

参考:Nginx でPHPを動かす(php-fpmをインストールする) [PHP5.3以降の場合] PHPをFastCGI化する必要があります。 php5.3がインストールされている場合、 yum php-fpmとやると、php-fpmがインストールできます。 vim /etc/php-fpm.d/www.conf ここにuserとか…

EC2 phpmyadminが動かない

APCとmemcachedを入れたことが原因だった。 当初でていたエラーはこれ。 Undefined property: PMA_Error::$hash in /usr/share/phpMyAdmin/libraries/Error.class.php on l ine 169 Notice: Undefined property: PMA_Error::$isDisplayed in /usr/share/phpM…

APC

APCはPHPアクセレーターというやつです。 PHPアクセレーターとは、PHPのスクリプトを最適化してコンパイルされた状態でデータをキャッシュし、以後同じデータにアクセスがあった際、そのキャッシュを利用することでスクリプトの実行速度を高速化させるための…

cakephp mpdf A4横でブラウザ表示

前の記事:cakePHP2.3 mPDFを使ってPDFを出力する(レイアウト・ビューを使ってPDFを作成しサーバに保存する) 上記で大体できますが、A4横にしたりするのがわからなかったから調べた。ブラウザ表示自体は、$mpdf->Output();で普通にブラウザに表示されます…

php gd 画像リサイズ

画像リサイズのコードが変だったので直した。 list($ow, $oh, $type) = getimagesize($file_path); if(empty($ow) || empty($oh)) return false; $x = 0; $y = 0; if($ow / $nw > $oh / $nh){ //幅のがはみだしてる $w = $oh * $nw / $nh; $x = ($ow - $w) /…

色の計算

色の計算がしたい。LESSとか使わないでちょっと計算できればプログラムにすぐ組み込める。色のことは全然詳しくないけど経験上FFBBCCとかあったらFの部分が赤くて、Bの部分が緑で、Cの部分が青というのは知ってる。あと数値が高ければ明るいこともしっている…

PHPのセッションでエラーでた apache

cakePHPでFileBinderで画像アップできないと思ったら、capistranoのshared内にディレクトリ作ってなかったり、app/tmpのパーミッションがおかしかったり、セッション保存するディレクトリのパーミッションが変だったりしたから直した。 セッション関連でこん…

PHPから自動でサブドメインつくる (cakePHP)

よくあるアカウント登録してサブドメイン名登録すると、ユーザ専用のサイトを作成できるようにしたいがやったことがない。 サーバはEC2のAmazonLinuxを使っています。ドメインはRoute53で管理してます。 Route 53のRecord Setsで、*.hoge.comとやれば、どん…