cron等で.bash_profileの環境変数等を読み込んでコマンド実行する方法です
- lオプションは.bash_profileを読み込みます
- cオプションは続く文字列の命令を実行します
bash -lc 'exec ...'
cron等で.bash_profileの環境変数等を読み込んでコマンド実行する方法です
bash -lc 'exec ...'
Let’s Encryptのcertbot-autoをrootで手動実行すると、正常にSSL証明書が更新できますが、cron経由で実行すると下記エラーが発生しました。
Certbot has problem setting up the virtual environment You are using pip version 8.0.3, however version 9.0.1 is available
この問題を解決するには、cron処理の先頭にexprot HOME=/rootを追加する必要がありました。
/root/.local/share/letsencrypt以下のライブラリを参照できるようにする必要があるようです。
また、certbot-auto自身の更新が起きると、下記パッケージ及び依存パッケージの更新が求められる場合があり
自己アップグレードは抑制した方が良いようです。
mod_ssl openssl openssl-devel
正常に動作するcron記述の例になります。
30 2 * * * export HOME=/root; /root/bin/certbot-auto renew --quiet --no-self-upgrade
controllerからviewへ行く時は、controllerに、
$this->load->view('ビューフォルダ名');
を記載しますが、controllerで設定した値を使おうとしたら、
Undefined variable:〇〇
と表示されたことはないですか???
んで、調べました!!!
非常に簡単なので使って下さい!!!
controllerには普通に定義するが、「&color(crimson){$this->load};」の箇所だけ変更↓
<?php class Blog extends Controller { function index(){ $data['title'] = 'My Page Title'; $data['heading'] = 'My Page Heading'; $this->load->view('blog_view', $data); } } ?>
viewでは以下のように記載する!!
<html> <head> <title><?php echo $titie; ?></title> </head> <body> <h1><?php echo $heading; ?></h1> </body> </html>
これ、約半日かけてできました。(こんな事を言ったら上司に怒られそうですが…。)
まず、2通りのパターンで、下記サイトからコピーし、テキストエディタに貼り付け、保存します。
# httpサーバの場合
http://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3.js
# httpsサーバの場合
https://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3-https.js
以下、コードです。
<head> <script src="<?php bloginfo('template_url') ?>/js/jquery.js"></script> <script src="<?php bloginfo('template_url') ?>/js/ajaxzip3.js" charset="UTF-8"></script> <script type="text/javascript"> //<![CDATA[ jQuery(function(){ AjaxZip3.JSONDATA="http://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/zipdata"; jQuery('#zip').keyup(function(event){ AjaxZip3.zip2addr(this,'','addr','addr'); }) }) //]]> </script> </head>
後は、以下のコードになるように「contact-form」で設定して下さい。
郵便番号:
住所 :
ポイントは、
内である「jQuery」内の、(‘#〇〇’)と、郵便番号欄の「input」内の、「id=”〇〇”」を同じにすることです。PHP
composer
最近では、PHPの何かをする際に、composerは避けて通れない存在となっていますね。
便利なのですが、よくわからない部分も実はあったりします。
composerの中に、Autoloadという機能があります。
必要なファイルに対して、requireとか書かなくてよくなるので、便利な機能です。ただ、このあたりよくわかっていないので、別の機会に時間があったらちゃんと調べて書きたいと思っています。
Autoloadを更新するために、composer.jsonを書き換えたら、
composer dumpaotoload
とやって、オートロードを更新する必要があります。
んで、composer dumpaotoloadとやっていても、下記のエラーが出て成功しません。。。
[RuntimeException] Unable to get primary namespace for package cakedc/search. Ensure you have added proper 'autoload' section to your plugin's config as stated in README on https://github.com/cakephp/plugin-installer
いろいろと考えてみたところ、同じアプリケーションの中に、package cakedc/search.をコピーしてほかの場所に入れちゃっていたのでした…(^_^;
Unable to get primary namespace for package cakedc/search. となるわけですね。