interoperable php

Download Interoperable PHP

Post on 15-Apr-2017




2 download

Embed Size (px)


Interoperable PHP

Interoperable PHPWe are only as strong as we are united, as weak as we are divided.DambledoreAnatol BelskiPHP SpecialistSeptember 2015

Anatol Belski on efnet#winphp-dev on freenode

PHP 7.0 release managerPHP core developerOSS guy

Interoperable PHP


Interoperable PHP


Interoperable PHP

Hardware various hardware existing or needed for a program.Architecture how is the hardware put together.OS an exact operating system.

Tree above platform.

Program actual binary running upon the platform. With PHP - the PHP interpreter.5

A cross-platform program is


independent and can run under various constellations.

Interoperable PHP

A cross-platform program can be handled within the same source tree, or with different sources for different platforms. As well many interpreted programming languages supports multiple platforms. Also there are like a dozen platforms within Unix, Linux, Windows.


TopicsFilesystemTime APIPerformance32- vs 64-bitThread safetyBeyond

Interoperable PHP

Brief UNIX/Windows diffUNIX/Linuxgccmany libsprocessesC99Ext*, reiserFS, HFS, etc.UNIX permissionsWindowsvc++core API + OSS libsthreadsC99 starting with VC12NTFS, FATACLs

Interoperable PHP


File permissionsUNIX/Linuxchmod +x filechmod -r filechmod ugo-r filechmod +r fileno equivalentno equivalentchmod +t somedirWindowsno equivalenticacls file /deny nick:(R)no equivalenticacls file /grant nick:(R)icacls file /grant nick:(GR,GW)icacls file /inheritance:eno equivalent

Interoperable PHP


File/process permissionsUNIX/Linuxchmod(), chown(), etc.process permissions are handled same way as file ones

WindowsicaclsimpersonationUnmapped UNIX users built-in SID mapping

Interoperable PHP

Access control lists and others vs UNIX permissions.

Unmapped UNIX user example Samba, NFS, etc.11

Access time

ext3, ext4 and othersnoatime,nodiratime in /etc/fstab

NTFSfsutil behavior query DisableLastAccessfsutil behavior set DisebleLastAccess 0

Interoperable PHP

Atime is usually off by default off windows. On linux depends on a distribution, but most likely is on.12

NTFS streamsC:\tmp> echo hello >foo.txt C:\tmp>echo world > foo.txt:bar.txtC:\tmp>dir /r foo.txt Volume in drive C is SYSTEM Volume Serial Number is AE0A-76BD

Directory of C:\tmp

08/31/2015 11:50 PM 8 foo.txt 8 foo.txt:bar.txt:$DATA 1 File(s) 8 bytes 0 Dir(s) 59,944,050,688 bytes free

Interoperable PHP

PHP FS snippet 1


View more >