I have PHP installed on ARM91. It works fine until I use session_start. Then I get the following Warning: session_start(): read returned less bytes than requested This does not seem to be a permission problem - the sess_* files are created. When you try to put anything into such session, it creates sparse file (17GB size) for the session with real size 12 bytes (exactly what i wanted to write there). Doing strace I think the problem is somewhere in __llseek that cause creation of such huge sparse file. I have similar issue with SQLITE (cannot open any DB, disk I/O error but i can cat the DB file and also seems it's llseek issue when creating DB journal file). I have no idea where to look further or how to solve that, fail to google any similar reports.
This sounds like something worthy of reporting to the PHP bug tracker.
If nothing comes up that helps, you could roll your own session storage functions using session_save_handler(). If you check out the manual page, there is an example for a complete alternative rewrite of the file based session handler.