Amazon S3 vs Cakephp

Sử dụng plugin này

https://github.com/robmcvey/cakephp-amazon-s3

Cho phép apache chạy script python (CGI)

Bài hướng dẫn này dựa theo server ubuntu 14.04. Tham khảo.
http://httpd.apache.org/docs/current/howto/cgi.html

Continue Reading

Hướng dẫn tạo certificate cho domain bằng let’s crypt trên ubuntu, apache

https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-14-04
Continue Reading

Chuyển đổi text có string url thành thẻ url

Với việc chuyển đổi 1 đoạn text thành link. Cakephp có hỗ trợ ở đây:
http://book.cakephp.org/2.0/en/core-libraries/helpers/text.html

Với javascript, có thể sử dụng thư viện js https://github.com/gregjacobs/Autolinker.js
Ví dụ ở đây: http://greg-jacobs.com/Autolinker.js/examples/live-example/

Google map event: thêm sự kiện sau khi zoom change

Bạn cần thực hiện 1 chức năng gì đó nếu zoom change.
Continue Reading

Hay dùng trong cakephp 2

1) Lấy ra lỗi sau khi validate

$this->Admin->set($this->request->data);
if ($this->Admin->validates()) {
} else {
$errors = $this->Admin->validationErrors;
$this->set(‘errors’, $errors);
return;
}

 

Trong view :

<?php if (isset($errors[‘check_email’]) && $errors[‘check_email’]) : ?>
<?= $errors[‘check_email’][0] ?>
<?php endif; ?>

 

Cách 2 :

trong view :

<?php
if ($this->Form->isFieldError(‘check_username’)) {
echo $this->Form->error(‘check_username’);
}
?>

 

2) lệnh log câu truy vấn gần nhất :

$log = $this->ModelName->getDataSource()->getLog(false, false); debug($log);

 

3 ) chuyển mảng thành giá trị:

$t = array(

‘User’ => array(

‘status’ => 1

)

);

$status = Set::extract($t, ‘User.status’);

 

// với mảng nhiều kí tự số , thử dùng $t = Set::extract($t, ‘{n}.cd_bibliotem’);

 

Huong dan cai dat lampp tren aws

Cần chạy các lệnh sau đây :
================================

sudo yum update -y
  sudo yum install httpd24 php56 mysql56-server php56-mysqlnd

sudo service httpd start

sudo chkconfig httpd on

sudo groupadd www

sudo usermod -a -G www ec2-user

exit

sudo chown -R root:www /var/www

sudo chmod 2775 /var/www

find /var/www -type d -exec sudo chmod 2775 {} \;

find /var/www -type f -exec sudo chmod 0664 {} \;

sudo service mysqld start

sudo mysql_secure_installation

sudo service mysqld stop

sudo chkconfig mysqld on

sudo yum-config-manager --enable epel

sudo yum install -y phpMyAdmin

sudo sed -i -e 's/127.0.0.1/118.70.151.130/g' /etc/httpd/conf.d/phpMyAdmin.conf

cai mod intl 
sudo yum  install php56-intl

sudo service httpd restart

sudo service mysqld restart

file host nằm trong thư mục /etc/httpd/conf
vào file này để sửa mod_rewrite

<Directory "/var/www/html">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
, sau đó restart httpd

file php ini là file /etc/php-5.6.ini ( sửa các cầu hình max upload , ......)

==========
Để có thế kết nối từ server khác , vào phpmyadmin thêm user mới với full quyền , dùng user này chứ ko được dùng user root

trong file cấu hình của cake thì thay localhost bằng ipv4 của instance ec2

thêm inbound vào phần security của aws nữa

=====
Hướng dẫn của amazon

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html

Chú ý :

hiện nay trong hướng dẫn của aws , chạy lệnh ( lệnh 1 )

sudo yum install -y httpd24 php70 mysql56-server php70-mysqlnd

để cài đặt php70 , mysql56-server , php70-mysqlnd

 

tuy nhiên nếu chạy lệnh này thì ko cài được phpmyadmin theo hướng dẫn ,

vì vậy hãy chạy lệnh này để cài bản thấp hơn ( lệnh 2)
sudo yum install httpd24 php56 mysql56-server php56-mysqlnd

Nếu đã lỡ cài lệnh 1 , thì remove đi bằng lệnh

sudo yum remove httpd24 php70 mysql56-server php70-mysqlnd
sau đó chạy lại lệnh 2
 

Cách tìm file khai báo 1 class trong php

$reflector = new ReflectionClass(‘SiteManager’);
echo $reflector->getFileName(); die;

Dowload hoặc create file pdf trong cakephp3 sử dụng cakepdf

  • Link doc : https://github.com/FriendsOfCake/CakePdf-
  • Yêu cầu : 
    – PHP 5.4.16+
    – CakePHP 3.0+
    – wkhtmltopdf
  • Cài đặt wkhtmltopdf  : sử dụng Composer
    composer require friendsofcake/cakepdf
  • Thêm code vào file config/bootstrap.php
    // load CakePdf
    Plugin::load(‘CakePdf’, [‘routes’=>true,’bootstrap’ => true]);
    // cấu hình CakePdf (có thể thêm các yeu to khác trong link doc)
    Configure::write(‘CakePdf’, [
    ‘engine’ => [
    ‘className’ => ‘CakePdf.WkHtmlToPdf’,
    // Path trên server và server cần cái đặt wkhtmltopdf
    //’binary’ => ‘/usr/local/bin/wkhtmltopdf’,
    // Path trên window và cần cài thêm wkhtmltopdf.exe về máy tính theo link dưới
    ‘binary’ => ‘C:\Program Files (x86)\wkhtmltopdf\bin\wkhtmltopdf.exe’,
    ],
    ]);
  • Thêm code vào file config/routes.php 
    Router::extensions([‘pdf’]); // tạo môi trường pdf
  • Sử dụng : có 2 kiểu sử dụng là
    1 . Render ra view môi trường pdf(có thể set download= true để tự động down,mặc định sẽ là render ra view) 
    – Tạo file PdfsController có :
    public $components = array(‘RequestHandler’);
    public function download($id) {
    // config pdf để download
    $this->viewBuilder()->options([
    ‘pdfConfig’ => [
    ‘orientation’ => ‘portrait’,
    ‘filename’ => ‘filename.pdf’, // file name download
    ‘download’ => true // nếu true sẽ tự động down, false sẽ render ra view
    ]]);
    }
    -Tạo file layout cho pdf  src\Template\Layout\pdf\default.ctp
    -Tạo file view cho pdf     src\Template\Pdfs\pdf\download.ctp
    Cuối cùng chạy link  : /pdfs/download/29.pdf’ // 29 la id
    2. Tạo ra file pdf lưu trên server
    – Tạo file PdfsController có :
    public $components = array(‘RequestHandler’);
    public function createFile() {
    $CakePdf = new \CakePdf\Pdf\CakePdf();
    $CakePdf->template(‘create_file’, ‘default’);//run view pdf/create_file and layout pdf/default
    $CakePdf->viewVars([‘dataPdf’ => 1]);// truyền biến ra view
    // Get the PDF string returned
    $pdf = $CakePdf->output();
    $pdf = $CakePdf->write(WWW_ROOT . ‘files’ . DS . ‘pdf’ . DS . ‘ronaldo.pdf’); // tạo file pdf
    }
    -Tạo file layout cho pdf  src\Template\Layout\pdf\default.ctp
    -Tạo file view cho pdf    src\Template\Pdf\create_file.ctp
    Cuối cùng chạy link  : /pdfs/createFile

Copyright © 2017. Powered by WordPress & Romangie Theme.