PHP сумасшедшее поведение на горе

462
Rodrigo

У меня есть монтирование к моей машине Windows на машине Linux. Когда я пытаюсь запустить какие-либо сценарии php, он говорит, что он не найден, однако, когда я копирую файлы в локальное хранилище, он запускается без проблем. Я попытался смонтировать с помощью exec, параметры rw ничего не меняет это поведение.

Я нарушаю какое-то неясное правило безопасности на php?

$mount -o defaults,umask=777,uid=1000,gid=1000,rw,exec,username=USER,password=PASS //192.168.1.65/D /mnt/z3n-i7 $cd /mnt/z3n-i7/script $php x.php $PHP Fatal error: Unknown: Failed opening required 'x.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0 $cp x.php ~/x.php;cd ~; $php x.php SUCCESS 

-

Strace:

getcwd("/mnt/z3n-i7/.httpd/~scripts/pv/pv-linux", 4096) = 49 time(NULL) = 1339177164 lstat64("/mnt/z3n-i7/.httpd/~scripts/pv/pv-linux/pv.php", ) = 0 lstat64("/mnt/z3n-i7/.httpd/~scripts/pv/pv-linux", ) = 0 lstat64("/mnt/z3n-i7/.httpd/~scripts/pv", ) = 0 lstat64("/mnt/z3n-i7/.httpd/~scripts", ) = 0 lstat64("/mnt/z3n-i7/.httpd", ) = 0 lstat64("/mnt/z3n-i7", ) = 0 lstat64("/mnt", ) = 0 ioctl(3, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0xbfc71038) = -1 ENOTTY (Inappropriate ioctl for device) fstat64(3, ) = 0 write(2, "PHP Fatal error: Unknown: Faile"..., 131) = 131 

Угадайте, что это проблема: не подходит ioctl для устройства?

0
Не могли бы вы опубликовать вывод `strace` для команды, которая не прошла? (`cd / mnt / z3n-i7 / script; strace -o trace.txt php x.php`) grawity 11 лет назад 0

2 ответа на вопрос

1
Rodrigo

After some research i found out that this is a php bug when accessing a filesystem hosted on a 64-bit OS. There's no fix for this, according to https://bugs.php.net/bug.php?id=50150, So i mounted my 64-bit windows share on a 32-bit linux machine and shared the share mounted it and it worked!

Thanks for the help anyway.

1
miwanoushi

Add 'noserverino' option, and the problem is settled.

example:

mount -o defaults,umask=777,uid=1000,gid=1000,rw,exec,username=USER,password=PASS,noserverino //192.168.1.65/D /mnt/z3n-i7