php
Phanix
maintainer
9 Followers
40 Articles

Mount GCP storage as filesystem, and access with php

Phanix

主要是使用 gcsfuse 這個工具,還有就是使用 Google\Cloud\Storage\StorageClient 這個套件 mount as filesystem Google cloud plateform 提供了 gcsfuse 這個工具可以 mount bucke...

php LINQ 套件安裝使用

Phanix

LINQ是 Microsoft 在 .Net Framework 3.5 起推出的技術,尤其用在 data collection query 相當的方便。雖然執行速度比起自己用迴圈下去寫要來得慢,但是程式碼可以大幅度減少讓維護變得簡單許多。

指定安裝 phalcon 的版本

Phanix

其實是因為這幾天phalcon 4 正式 release,然後自己不小心讓系統全部更新,然後就爆炸了,所以只好來降版本。整個phalcon 安裝檔的 repository都在同樣地方,如果現在沒有特別指定的話,php7.2(含)以上版本安裝 phalcon 會裝上 phalcon 4.0。

php 匯出 csv 給 excel 97-2003 使用的中文字編碼問題

Phanix

匯出資料並不是太困難的事情,但是對於 excel 97-2003 這樣舊版本的 excel 來說,中文字的編碼是個麻煩 比較新的 excel 都已經開始支援中文字使用 utf-8 等常用的 unicode 編碼方式,但是再古早的年代,各種語言(中文、日文、許多的歐系語言)都有各...

Back to All

php buffering flush output & phalcon generate link in action

Phanix

程式要跑比較長的時間的時候會需要用到 沒有使用 buffering flush 的話,會等程式執行完畢之後才輸出,對client端來說會覺得像是瀏覽器一直在嘗試連線,不是太好的UX。public function execAction() { ob_implicit...

php 的 popen 與 exec

Phanix

exec() 最大的問題應該是,如果呼叫的 process 有print out 資料或其中有個 thread 有 return,都可能讓 exec() 以為 process 結束。這次遇到的是該執行檔如果是 process 第一次啟動的時候,會先把一些資料先載入記憶體,然後成為背景程式。

javascript 做 cors request 並夾帶 authorization (帳號密碼) 資料給 php

Phanix

關鍵點在於不論是 XMLHttpRequest 或者是用 ajax,只要有夾帶 authroization (user name & password) 要做認證的話,會多一個 OPTIONS request,而且 javascript 這邊也要做修改。

OSS PHP SDK 初學

Phanix

其實還蠻簡單的,比較麻煩的反而是在產生 access key 這個部份,只能說 alibaba 的 document 有點難找 安裝與簡單的範例 安裝 sdk 可以直接到 https://github.com/aliyun/aliyun-oss-php-sdk下載。

[Phalcon] Retrieve only records of the current page in paginator to improve performance

Phanix

Phalcon 的 model search 配合 paginator 就可以很方便地幫查詢資料結果做分頁,但是如果資料筆數過多,則會有速度過慢的問題。dev tool 產生的程式碼與問題 原本用 phalcon-devtool 產生的 search 相關 volt 檔案與 co...

Phalcon query with multiple models

Phanix

Phanlcon 這個 php framework 提供方便的 Model->find() 來做資料搜尋,甚至還可以給予條件,但在實際使用的時候,常常會是多個 model (table) 做 join,雖然可以用純 sql 加上 sql connection 來完成,但是程...

C# 與 php 7.1 資料傳輸以DES加解密

Phanix

原本在 php 7.0 及之前可以直接用 mcrypt,但是在 7.1 之後就被拿掉了,除非用 PCEL 去裝,或者使用其他的 library,要不然應該就只能使用 openssl 的加解密。原本應該是很容易的事情,但是因為 C# 跟 php 兩邊的寫法實在差很大,其中 php ...

phalcon framework build error

Phanix

今天在 Redhad 6.6 上遇到問題,會有類似這樣的錯誤。/tmp/cc2QQ7Ek.s:778709: Error: no such instruction: shlx %rdx,%rsi,%rdx’ /tmp/cc2QQ7Ek.s:779180: Error: no su...

Installing apache, mysql, php 7.0, php-apcu and Phalcon framework on Centos 7

Phanix

紀錄一下。被權限設定浪費不少時間 =_= #install apache2.4 httpd sudo yum install httpd sudo systemctl start httpd.service 如果直接 yum install mysql 的話,會裝 mariadb。

還不錯用的 php obfuscator

Phanix

免費!Free Online PHP Obfuscator。試用了一下,裏頭還有加上 checksum,還不錯用。2022/05 update: 原連結已死,現在看起來 https://www.mobilefish.com/services/php_obfuscator/php_...

php+apache 執行 sudo 命令出現 sudo: no tty present and no askpass program specified

Phanix

php 用 exec (或 shell_exec 等)在 command line 下以 sudo 執行命令的時候,會出現sudo: no tty present and no askpass program specified的錯誤。主要原因是因為在 php + apache ...

Using PHP to invoke Facebook api

Phanix

真心覺得 Facebook api 的官方文件網站很爛,然後 PHP 的 api 用法囉哩八唆的,還不如直接在 php 裡面用 curl 來得方便。Facebook api 透過 php 的用法,理想上的流程大致是這樣 先透過登入頁面(e.g.

Phalcon CSRF issue with Chrome

Phanix

主因是 Chrome 瀏覽器有些行為很奇怪。在這篇(https://forum.phalcon.io/discussion/922/csrf-protection-not-working#C6649)討論裡面有提到,Chrome瀏覽器在 background 會去 request...

Add parameters while dispatcher forwarding in phalcon

Phanix

$this->dispatcher->forward([ ‘controller’ => “Keyproduct”, ‘action’ => ‘edit’, ‘params’ => [$keyproduct->keyha...

Use php built-in functions & user-defined functions in Volt file of phalcon framework

Phanix

雖說 phalcon 的 mvc 架構已經很方便了,可是有些情況如果可以在 volt (view)處理的話會方便許多,比方要將回傳的資料表格某欄位做處理才顯示,典型的例子是將 integer 資料用 bit string 的方式顯示。方法有兩種,一個是在 service.php ...

Phalcon CSRF (跨網站偽造請求) protection

Phanix

CSRF (cross site request forgery)特別對於表單的保護(尤其是登入頁面)很重要,在 Phalcon framework (3.x) 中可以參考以下範例(或者參考官方文件的 example)。在登入頁面 (e.g.

PHP: re-index array after removing an element

Phanix

php 的陣列中移除一個元素後,如何把 index 重排(意即被移除的元素之後的所有元素的 index 往前移) unset($foo[5]); // remove item at index 5 $foo2 = array_values($foo); // 'reindex'...

PHPMailer & PHP HTML to Text

Phanix

紀錄一下 php 內建的 mail() 是透過 local smtp, 但要走外面的 smtp server 的話, 可以用 PHPMailer 另外 HTML to Text 也有人家寫好的套件可以用 html2text Original link: Phanix's Blog

Phalcon Model Validation

Phanix

新舊版本的寫法差蠻多的,被舊的 phalcon devtools 自動產生的 model 給陰了.. <?php use Phalcon\Mvc\Model\Validator\Email as Email; class Users extends \Phalc...

Setting for Phalcon 3 + php 7 using mongodb

Phanix

php5 的時候還可以用 Mongo, 但是到了 php7 就強制要換成 MongoDB 才可以, 安裝方式如下(要先有 pecl) #如果有遇到 openssl 的問題的話, 可以先做下面這三行 $ sudo apt-get install -y autoconf g++ m...

php 7.0 apcu plug-in deadlock issue

Phanix

最近踩到 apcu 的 deadlock 地雷,紀錄一下 apcu 是個蠻好用的plug-ing, 安裝透過 pecl install 就可以,但先前就有人發現(https://daniel.town/php/2016/07/13/osx-apc.html)當多個 reques...

send HTTP POST to the other URL with Basic Authorization by php cURL

Phanix

主要重點在 1) 產生 postdata array 2) 檢查 response http status code 3) curl_options $tourl = "http://YOUR_TARGET_POST_URL"; $ch = curl_init(); $...

Customized 404 page in PHP Phalcon framework

Phanix

在一般狀況下其實不需要自訂404 page也不會怎麼樣,但是如果用 phalcon dev tools 做 CRUD 頁面出來,有些狀況可能是不需要 create 資料的,比方說對 log 只需要看,沒有道理從頁面上手動 create 在 app/controllers/ 下開...

新手如何入門? 3 個我推薦入門的程式語言

阿謙

程式語言百百種,到底該選哪一種?

Print date time with ms in PHP, which is faster?

Phanix

PHP 裡頭印出 Y-m-d h:i:s.u 的日期時間(有 ms)的方式很多,過年前無聊試了一下,還真的有些不一樣 想到的三種方式如下 用 DateTime::createFromFormat 並指定 format U.u (一般產生DateTime只會到 second) ...

第二個案件 - 這也是 CMS - kyutensha.com

Python 的輕鬆閲讀

CMS 的後臺CMS 的後臺界面,直接 Copy 另外一個就可以讓前臺起來了 github: https://github.com/renfu-her/kyutensha-cms 將用不到的全部刪除,尤其後臺的界面慢慢去測試套用前臺樣板這個部分,需要一些時間,當樣板確定之後,我會...