please visit my new shouting area –
new home
September 25, 2018 at 6:20 pm (foxpro, internet, javascript, linux, mysql, php, redis, smarty, Standard, study, ubuntu, Uncategorized, virtualbox, webdevelopment, windows)
change mysql data directory ubuntu 17.xx
March 24, 2018 at 12:23 pm (linux, mysql, ubuntu)
Follow https://www.digitalocean.com/community/tutorials/how-to-move-a-mysql-data-directory-to-a-new-location-on-ubuntu-16-04
NOTE: you can skip empty directory (/var/lib/mysql/mysql) creation script in ubuntu 17.xx version.
Then try to start mysql server. If fail then log messages are telling you that /usr/sbin/mysqld needs read (r) access to open /proc/14767/status, /sys/devices/system/node/ (trailing slash because it wants to read the directory), and /proc/14767/task/14767/mem. The file to edit is /etc/apparmor.d/usr.sbin.mysqld.
In my case I solved the problem by adding these lines somewhere in the middle (with two spaces in front of each):
/proc/*/status r, /sys/devices/system/node/ r, /sys/devices/system/node/** r,
Reload apparmor:
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld sudo /etc/init.d/apparmor reload
After doing that, try starting MySQL, and if you get more errors, add those files too and try again.
In some case mysql may fail to start for assoc i/o error. So, you may need to disable this settings by adding following line into /etc/mysql/mysql.conf.d/mysqld.cnf
innodb_use_native_aio=0
Another note about file permission of data directory is, “mysql” user should have permission into every directory of that path. Like if new data directory is “/media/myusb01/mysql-data” then “mysql” user should read access of “/media” folder and “/media/myusb01” folder and read write access at new data directory.
Hope mysql will start now.
network adapter at guest [ubuntu] while setup host only network at virtualbox
March 22, 2018 at 7:57 pm (linux, ubuntu, virtualbox)
I’m trying to setup host only network at virtualbox by following http://christophermaier.name/2010/09/01/host-only-networking-with-virtualbox/
but facing to choice network adapter at guest [ubuntu]
To see a list of the adapters your virtual machine can access, use this:
ls /sys/class/net
This will show you the interface names. For example, with two network adapters set up, my Ubuntu guest looks like this.
eth1 eth2 lo
To see a list of active network with IP address assigned
ifconfig
So you can easily guess what network adapter should use for host only network.
Well in a brand new ubuntu machine the permanent network save is not work in the way described in that article. For this you need to install ifupdown or ifupdown2 package
apt install ifupdown2
After install execute following command
ifup eth1
Then reboot.
JavaScript class encaptulation
July 17, 2017 at 12:09 pm (javascript, study, webdevelopment)
Tags: basic, javascript, prg, programming, webdevelopment, website
My favorite JavaScript class structure –
(function(exports) {
"use strict";
var mySuperDupparClassOfSHKR=function(pValue){
var myPrivateValue;
this.setValue=function(pValue){
myPrivateValue=pValue;
return this;
};
var __construct = function(that, pValue) {
return that.setValue(pValue);
}(this, pValue);
};
exports.SuperDupparClass = {
create : function(pValue) {
if(typeof pValue==='undefined') throw 'please provide a value, unable to continue...';
return new mySuperDupparClassOfSHKR(pValue);
},
};
})(this);
Usage as follows –
var myObj;
jQuery(document).ready(function($) {
try{
myObj=SuperDupparClass.create('any value');
}catch(e){
alert('ERR: '+e);
}
});
Install PHP-Redis on PHP5.6 Centos 7
April 15, 2017 at 2:00 pm (linux, php, redis)
Tags: linux, php, redis
Assume that PHP 5.6 installed and working properly.
Now execute following command
sudo yum install php56w-devel sudo yum install git-core git clone git://github.com/nicolasff/phpredis.git cd phpredis/ sudo phpize sudo ./configure sudo make sudo make install sudo echo "extension=redis.so">/etc/php.d/redis.ini sudo apachectl restart
Its pretty simple!
PHP Archive (.phar) Attaching with ZF2
January 8, 2017 at 12:59 pm (php, webdevelopment)
Tags: archive, framework, phar, php, programming, webdevelopment, website, zend, zend framework, zf2
PHP archive aka phar is a stream wrapper which can serve any packaged PHP library efficiently.
To create a phar document for a library (not for web output or for cli executable) is simple as pie like –
$phar = new \Phar('target-location-where-to-save.phar', FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::KEY_AS_FILENAME, 'optionalPharAliasName'); $phar->buildFromDirectory('source/lib/path');
After creating phar document, file can use to attach ZF2 standard autoloader as follows –
Zend\Loader\AutoloaderFactory::factory(array( 'Zend\Loader\StandardAutoloader' => array( 'autoregister_zf' => true, 'namespaces' => array( 'YourProjectNamespace'=>'phar:///absolute/path/of/project/phar/file.phar', ), ), ));
This works as simple folder of your file system. Easily distributable, packaged.
PHP Debug efficiently with debug_backtrace
November 25, 2015 at 5:36 pm (php, webdevelopment)
Tags: basic, debug, php, programming, webdevelopment
Hello today I write a small function for debug your PHP code. Its simple but powerful –
$bkTrace=function ($stack) { $output = ''; $stackLen = count($stack); for ($i = 1; $i < $stackLen; $i++) { $entry = $stack[$i]; $func = (array_key_exists('class', $entry)?$entry['class'].'\\':'').$entry['function'] . '('; $argsLen = count($entry['args']); for ($j = 0; $j < $argsLen; $j++) { $my_entry = $entry['args'][$j]; if (is_string($my_entry)) { $func .= $my_entry; } if ($j < $argsLen - 1) $func .= ', '; } $func .= ')'; $entry_file = 'NO_FILE'; if (array_key_exists('file', $entry)) { $entry_file = $entry['file']; } $entry_line = 'NO_LINE'; if (array_key_exists('line', $entry)) { $entry_line = $entry['line']; } $output .= $entry_file . ':' . $entry_line . ' - ' . $func . PHP_EOL; } return $output; }; echo '<pre>'.$bkTrace(debug_backtrace()); exit();
Batch file that will create skeleton directories of ZF2
April 28, 2014 at 6:16 pm (php, webdevelopment, windows)
Tags: dos, framework, php, php5, programming, webdevelopment, windows, windows 7, zend, zend framework, zf2
After a long time write a batch file to create a skeleton directory for Zend Framework 2 module. Hope it may help someone who work in windows 7 OS
@echo off @setlocal ENABLEDELAYEDEXPANSION @rem this file will create required empty directory of a ZF2 module @rem author Shahadat Hossain Khan (shahadathossain.com) ECHO. IF "%~1"=="" GOTO noModuleName SET modName=%~1 CALL :UCase %modName% _UCMN CALL :LCase %modName% _LCMN IF NOT EXIST "%_UCMN%" ( MKDIR %_UCMN% MKDIR %_UCMN%\config MKDIR %_UCMN%\src MKDIR %_UCMN%\src\%_UCMN% MKDIR %_UCMN%\src\%_UCMN%\Controller MKDIR %_UCMN%\src\%_UCMN%\Form MKDIR %_UCMN%\src\%_UCMN%\Model MKDIR %_UCMN%\view\ MKDIR %_UCMN%\view\%_LCMN% MKDIR %_UCMN%\view\%_LCMN%\%_LCMN% ECHO Directory created. Named - %modName% ) else ( ECHO Directory already exist! ) GOTO:EOF :noModuleName ECHO You must provide module name along with this command as 1st argument GOTO:EOF :LCase :UCase :: Syntax: CALL :UCase _VAR1 _VAR2 :: Syntax: CALL :LCase _VAR1 _VAR2 :: _VAR1 = Variable NAME whose VALUE is to be converted to upper/lower case :: _VAR2 = NAME of variable to hold the converted value :: Note: Use variable NAMES in the CALL, not values (pass "by reference") set varX=%1 set frstChar=%varX:~0,1% set rstChar=%varX:~1% FOR %%Z IN (Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz) DO ( SET pX=%%Z set c1=!pX:~0,1! set c2=!pX:~1,1! IF /I "%0"==":UCase" ( if %frstChar%==!c1! SET _Abet=!c1! if %frstChar%==!c2! SET _Abet=!c1! ) IF /I "%0"==":LCase" ( if %frstChar%==!c1! SET _Abet=!c2! if %frstChar%==!c2! SET _Abet=!c2! ) ) SET _Word_Rtrn=%_Abet%%rstChar% SET %2=%_Word_Rtrn% GOTO:EOF endlocal
Usage
<your batch file name> <the module name>
Install Zend Framework 2 into Windows IIS
April 26, 2014 at 11:03 pm (php, webdevelopment, windows)
Tags: framework, hosts, iis, installation, php, programming, webdevelopment, windows 7, zend, zend framework, zf2
This article will show you how you can install Zend Framework 2 into your windows OS without composer.phar help.
1. Download latest stable copy of ZF2 from http://framework.zend.com/downloads/latest and unpack, we call it ZF2
2. Download latest stable copy of ZF2 skeleton app from https://github.com/zendframework/ZendSkeletonApplication/ and unpack, we call it ZF2Skeleton
3. Create folder like <ZF2Skeleton folder>/vendor/ZF2. Now copy ZF2/* into <ZF2Skeleton folder>/vendor/ZF2 And the final directory structure may look like following image (for ZF2 version 2.3.1 dated 20140426)
4. Now point any domain into “public” folder. e.g. zf2.localhost.tld
- 4.a. Open notepad as administrator user
- 4.b. Add an entry to your hosts (file) like – “127.0.0.1 zf2.localhost.tld” [one host in each line]
- 4.b.1 hosts file is typically located at C:\WINDOWS\system32\drivers\etc\hosts
- 4.c Now save the hosts file and close
- 4.d. Now create an entry in your IIS (6 or 7 both are same procedure) by following http://support.microsoft.com/kb/816576 with the above host name i.e. zf2.localhost.tld
5. Now you need to fix ZF2_PATH or $zf2Path variable at “/init_autoloader.php” file of root to point our “/vendor/ZF2” folder
Find following code:
$zf2Path = false;
if (getenv(‘ZF2_PATH’)) { // Support for ZF2_PATH environment variable
$zf2Path = getenv(‘ZF2_PATH’);
} elseif (get_cfg_var(‘zf2_path’)) { // Support for zf2_path directive value
$zf2Path = get_cfg_var(‘zf2_path’);
}
Replace by following code:
define(‘DS’, DIRECTORY_SEPARATOR);
define(‘APP_ROOT_PATH’, dirname(__FILE__).DS);
$zf2Path = false;
if (is_dir(APP_ROOT_PATH.’vendor’.DS.’ZF2′.DS.’library’)) {
$zf2Path = APP_ROOT_PATH.’vendor’.DS.’ZF2′.DS.’library’;
} elseif (getenv(‘ZF2_PATH’)) { // Support for ZF2_PATH environment variable or git submodule
$zf2Path = getenv(‘ZF2_PATH’);
} elseif (get_cfg_var(‘zf2_path’)) { // Support for zf2_path directive value
$zf2Path = get_cfg_var(‘zf2_path’);
}
You can now visit zf2.localhost.tld to get your expected site.
Please note, you must run latest copy of PHP (at least bigger then 5.3.23 when I write this article there I found version 5.3.28 stable for windows non thread safe version installer for download) from http://windows.php.net/download/
Now the problem is URL route in IIS. That means when you lookup into ZF2 getting started docs you may find some code to edit .htaccess of apache. What about IIS in this case?
IIS have solution of URL rewrite problem. Visit www.iis.net/urlrewrite to get the latest copy of the plugin to attach into your IIS installation. Just install this addon/plugin/extension/demon/program whatever name you called.
After installation you need a file web.config into your “<ZF2Skeleton folder>/public” folder. No matter, here we do a small trick. Just download Drupal 7+ core from https://drupal.org/project/drupal and unpack it. There you found a web.config file at root path. Just copy and paste that file into your <ZF2Skeleton folder>/public folder.
That’s all folk!
You must be logged in to post a comment.