顯示包含「PHP5」標籤的文章。顯示所有文章
顯示包含「PHP5」標籤的文章。顯示所有文章

星期一, 6月 19, 2017

install php 5.5 opcache on Centos 5.11

Oh, I've already got answer to my question :) Add it here, maybe, someone else will use it.
Initially I installed php using such command
# yum --enablerepo=remi,remi-php55 install php-pecl-apc php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
Now I just ADDED missing extension with this command
# yum --enablerepo=remi,remi-php55 install php-opcache
And it worked!!! phpinfo() shows needed module :)

星期三, 4月 01, 2015

Installing PHP APC on GNU/Linux Centos 5

Do to so, we execute the following command:


yum install php-pear

But, this will not run on its own, we need the following package for the phpizecommand:


yum install php-devel

We also need the apxs command, which is installed via the following package:


yum install httpd-devel

Now we have all the software we need, so we install apc via the pecl command:


pecl install apc 

Once that finishes, we need to enable apc in Apache's configuration. the following command should do this for us.


echo "extension=apc.so" > /etc/php.d/apc.ini

Then we restart Apache:


/etc/init.d/httpd restart

星期日, 3月 01, 2015

array_push 結合陣列中的文字

<?php
require 'bootstrap.php';
require 'config/global.php';

// 跑馬燈開始
$rs = $pdo->prepare("SELECT * FROM `marquee` WHERE `is_show`='Y' AND TO_DAYS(NOW()) - TO_DAYS(start_date) >= 0 AND TO_DAYS(NOW()) - TO_DAYS(end_date) <= 0  ORDER BY `sno`");
$rs->execute();

if ($rs->rowCount() > 0){
  echo '<div class="col-md-8 col-md-offset-2"><font color="#FFFF"><marquee>';
  $tmpArray = array();
 
  while($d = $rs->fetchObject()){

    array_push($tmpArray, sprintf('<a href="%s" title="%s">%s</a>', $d->url, $d->headline, $d->headline));
  }

  $marquee = implode('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp', $tmpArray);

  echo($marquee);

  echo "</marquee></font>";
}
// 跑馬燈結束
?>

星期一, 12月 08, 2014

mail 攻擊紀錄IP


網頁伺服器被攻擊,看紀錄對方是用我的網址 webmail.dzvhost.com


使用 Horde 這套webmail 介面去發大量垃圾信件。

找不到解決方案,最後只好關閉這個網址 webmail.dzvhost.com





Received: (qmail 22796 invoked by uid 48); 9 Dec 2014 17:19:27 +0800
Received: from 116.202.107.234 ([116.202.107.234]) by webmail.dzvhost.com
(Horde Framework) with HTTP; Tue, 09 Dec 2014 09:19:25 +0000
Message-ID: <20141209091925.60507dba87xjjmal@webmail.dzvhost.com>
Date: Tue, 09 Dec 2014 09:19:25 +0000
From: James Charles <jamescharles2015@hotmail.com>
Reply-to: jamescharles614@gmail.com
To: undisclosed-recipients: ;
Subject: URGENT
MIME-Version: 1.0
Content-Type: text/plain;
charset=ISO-8859-1;
DelSp="Yes";
format="flowed"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
User-Agent: Internet Messaging Program (IMP) H3 (4.3.11)

星期日, 10月 05, 2014

開啟資料庫查詢記錄 Mysql query Log

1. 編輯 mysql 設定檔

# vi /etc/my.cnf

在[mysqld]內新增下面兩項設定,1代表開啟

general_log=1
general_log_file=mysql-gereral.log


2. 產生的 log 放置在 /var/lib/mysql 下

3. /etc/init.d/mysqld restart 重新啟動mysql

4. 使用 more 查看查詢紀錄
# more /var/lib/mysql/mysql-gereral.log










星期二, 7月 22, 2014

How to turn off magic quotes on shared hosting?

 


ini_set('magic_quotes_gpc',0);// doesn't work

在連線資料庫後 加入以下程式代碼


if( in_array( strtolower( ini_get('magic_quotes_gpc')), array('1','on'))){
$_POST
= array_map('stripslashes', $_POST );
$_GET
= array_map('stripslashes', $_GET );
$_COOKIE
= array_map('stripslashes', $_COOKIE );}

星期四, 7月 10, 2014

How to turn off magic quotes on shared hosting?

ini_set('magic_quotes_gpc',0);// doesn't work





在連線資料庫後 加入以下程式代碼

if( in_array( strtolower( ini_get('magic_quotes_gpc')), array('1','on'))){

$_POST = array_map('stripslashes', $_POST );

$_GET = array_map('stripslashes', $_GET );

$_COOKIE = array_map('stripslashes', $_COOKIE );}

星期日, 1月 19, 2014

PHP max_file_uploads 上傳檔案限制

編輯設定檔,將預設改為更高,如果沒有此設定,請加在 php.ini 檔案最後ㄧ行





vi /etc/php.inc



max_file_uploads = 20 預設

星期三, 1月 15, 2014

SQL 使用单引号来环绕文本值

大部分数据库系统也接受双引号。



如果是数值,请不要使用引号。



SELECT * FROM Persons WHERE FirstName='Bush'

星期三, 1月 08, 2014

批次將欄位內容追加文字

當資料表內的資料太多時,要批次把每個欄位 追加上文字說明,使用SQL CONCAT函數就非常好用。



UPDATE `tabel_name` SET `col_name`=CONCAT(`col_name`,'要追加的文字~~') WHERE id=?





如果確認要修改全部,可以不用加上WHERE,如果該資料表很重要,不能發生改錯的情況,請務必先備份該資料表。

星期二, 1月 07, 2014

[MySQL] 取代資料表內部份字串問題

問題:



在MySQL



我有大約50000筆資料 有個欄位像這樣



0040000001~0040050000



現在因故要把 004改成005



變成像這樣



0050000001~0050050000





UPDATE `test` SET `test` = CONCAT( '005', SUBSTRING( `test` , 4 ) ) WHERE

SUBSTRING( `test` , 1, 3 ) = '004'





資料來源::http://blog.wu-boy.com

星期日, 12月 29, 2013

在PHP裡面如何做到基本的SQL injection防禦?

一、啟動magic_quotes_gpc



magic_quotes_gpc是PHP內建,一項防禦SQL injection的基本手段,他會自動去將所有透過GET、POST傳值的資訊進行處理,把一些符號(例如單引號、雙引號)加入轉義符號(反斜線),藉此來避免SQL injection的問題,不過magic_quotes_gpc有個缺點就是,如果使用者傳入的資料並非是攻擊字串,可是在開啟magic_quotes_gpc的情況下他仍然會進行處理,這時候就會導致使用者的輸入資料與原本的不同,因此是否要啟動magic_quotes_gpc就看你個人選擇



啟動magic_quotes_gpc很簡單,開啟你的php.ini,然後搜尋「magic_quotes_gpc」



把magic_quotes_gpc=off改成magic_quotes_gpc=on



預設情況下是開啟的



二、將傳入的資料進行處理



前面講過,因為magic_quotes_gpc會對傳入的資料進行處理,有時候會處理到不該處理的資料,這時候可能會造成困擾,因此有人會將此項功能關閉,如果你把magic_quotes_gpc關閉的話也沒有關係,這裡要介紹兩個PHP的函式,可以做到跟magic_quotes_gpc一樣的效果,只是彈性更大,magic_quotes_gpc會對「所有」GET、POST都做處理,但是這裡介紹的函式是可以指定性的使用的~



這裡要介紹的兩個函式分別是mysql_real_escape_string跟addslashes,這兩個函式功能相近,只是mysql_real_escape_string的功能更多,他會處理更多資料,而addslashes只會對「單引號、雙引號、反斜線進行處理」,至於要用哪個就看你自己的選擇,另外在使用這兩個函式之前,要先透過get_magic_quotes_gpc這個函式檢查式有有開啟magic_quotes_gpc模式,如果再開啟magic_quotes_gpc的情況下使用這兩個函式,就會造成重複處理,會出問題



兩個函式的使用都是直接將要處理的變數傳進去就可以了,另外get_magic_quotes_gpc的部份,當返回0代表沒有啟動,返回1代表有啟動



資料來源: http://jishus.org/?p=666

星期六, 12月 07, 2013

修改PHP的執行時間上限

方法一:修改PHP.ini



編輯 php.ini

#vi /etc/php.ini

搜尋 max_execution_time



預設都是30,把30改成你要的時間上限及可





另外set_time_limit在PHP的安全模式(Safe mode)是沒有效果的



方法二: 修改.htaccess



新增 php_value max_execution_time 0

星期四, 11月 21, 2013

PHP 設定 SESSION 過期時間



session_set_cookie_params(8*60*60);

ini_set('session.gc_maxlifetime', '28800');

session_start();






星期二, 11月 19, 2013

CentOS 從 PHP 5.1.X 升級到 PHP 5.3

首先停止 Apache Server



#service httpd stop



解除安裝 PHP 5.1.x 的版本



#yum remove php-*





安裝 PHP 5.3





yum install php53 php53-cli php53-common php53-devel php53-gd php53-mbstring php53-mysql php53-soap php53-xml php53-xmlrpc php53-bcmath php53-snmp





修改時區



#vi /etc/php.ini 中的 date.timezone = "Asia/Taipei"





重新啟動 Apache Server



#service httpd start



這樣就升級完成了.



參考:http://proxy.gtn.com.tw/forum/index.php/topic,128.msg142.html

星期一, 10月 28, 2013

sql 資料表 從亂數取出指定的資料列數

從亂數中取出五條紀錄

SELECT * FROM `table` ORDER BY RAND() LIMIT 0,5;

星期三, 10月 23, 2013

How do you upgrade PHP 5.1 to PHP 5.3 using yum on CentOS

在CentOS 5.9中預設是PHP 5.16 尚未包含PHP 5.3


安裝  atomic 套件
#wget -q -O - http://www.atomicorp.com/installers/atomic | sh

執行 php 自動更新
#yum upgrade php

移除  atomic 套件包
#yum -y remove atomic-release*


最後請執行移除安裝來源,避免PHP版本ㄧ再更新,造成舊的PHP程式發生錯誤!!

星期三, 8月 21, 2013

PHP程序出现Notice: Undefined variable的解决方法

PHP默認配置會報這個錯誤,我的PHP版本是5.2.13,存在這個問題:

Notice: Undefined variable

這就是將警告在頁面上打印出來,雖然這是有利於暴露問題,但實現使用中會存在很多問題。





解決方法:

# vi /etc/php.inc 改變 error_reporting設置



找到error_reporting = E_ALL



修改為error_reporting = E_ALL & ~E_NOTICE


星期六, 8月 03, 2013

PHP Deprecated: Comments starting with '#' are deprecated in *.ini 警告解决办法

警告信息:



PHP Deprecated: Comments starting with '#' are deprecated in /etc/php/cli/conf.d/mcrypt.ini on line 336 in Unknown on line 0



上网查了一下,原来是新版本的PHP不赞成用'#'号作为注释符号,需要用分号';'。



打开这个文件,把里面的#替换成;号,问题解决!

星期三, 3月 20, 2013

安裝phpMyAdmin時,遇到「缺少 mcrypt 外掛。請檢查 PHP 設定。」

在安裝phpMyAdmin時,發現登入畫面出現「缺少 mcrypt 外掛。請檢查 PHP 設定。」的錯誤訊息,檢查以下狀況後,就可以正常使用。



1.作業系統的 system32(C:\WINDOWS\system32)目錄少了「libmcrypt.dll」檔

解決方法是找到php目錄下的「libmcrypt.dll」,並將「libmcrypt.dll」複製到

C:\WINDOWS\system32 目錄中,然後重新啟動Apache即可。



2.在C:\WINDOWS目錄下的「php.ini」檔中,將「;extension=php_mcrypt.dll」中的

前面一個「;」去掉,然後動新啟動Apache即可