У меня есть виртуальная машина centos 6, работающая в качестве гостя в Virtualbox. Я установил стек LAMP, к которому я могу получить доступ из среды хоста (Windows).
Я смонтировал общий ресурс SMB с помощью 'mount -t cifs', и я могу использовать apache для обслуживания файлов из этого общего ресурса (пока все в порядке)
проблема Теперь я пытаюсь запустить простой скрипт test.php из командной строки. Это результат, который я получаю (ниже)
обратите внимание, что произойдет, если я неправильно напишу имя файла (другое сообщение), поэтому файл есть, как будто php не может его выполнить.
Я включил это как изображение, потому что я не могу найти способ скопировать с моего терминала виртуальной машины. Любая помощь будет оценена по достоинству, я уже потратил гораздо больше времени, чем мог себе представить, чтобы это запустить и запустить.
edit3: Я могу запустить php из командной строки, когда я не пытаюсь запустить файл из общего ресурса samba, поэтому он имеет какое-то отношение к монтированию. Я смонтировал привод таким образом ...
mount -t cifs -o username=xxxx,password=xxxx,nounix,fir_mode=0777,file_mode=0777,gid=48,uid=48 //path/to/samba/share /var/www/vhosts
edit1: -bash: hexdump test.php 0000000 6574 7473 6620 6c69 0a65 000000a
edit2:
strace -o mystraceoutput.txt -f -e trace = файл php test.php
4423 execve("/usr/bin/php", ["php", "test.php"], [/* 19 vars */]) = 0
4423 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
4423 open("/etc/ld.so.cache", O_RDONLY) = 3
4423 open("/lib/libcrypt.so.1", O_RDONLY) = 3
4423 open("/usr/lib/libedit.so.0", O_RDONLY) = 3
4423 open("/lib/libncurses.so.5", O_RDONLY) = 3
4423 open("/usr/lib/sse2/libgmp.so.3", O_RDONLY) = 3
4423 open("/lib/libbz2.so.1", O_RDONLY) = 3
4423 open("/lib/libz.so.1", O_RDONLY) = 3
4423 open("/lib/libpcre.so.0", O_RDONLY) = 3
4423 open("/lib/libm.so.6", O_RDONLY) = 3
4423 open("/lib/libdl.so.2", O_RDONLY) = 3
4423 open("/lib/libnsl.so.1", O_RDONLY) = 3
4423 open("/usr/lib/libxml2.so.2", O_RDONLY) = 3
4423 open("/lib/libgssapi_krb5.so.2", O_RDONLY) = 3
4423 open("/lib/libkrb5.so.3", O_RDONLY) = 3
4423 open("/lib/libk5crypto.so.3", O_RDONLY) = 3
4423 open("/lib/libcom_err.so.2", O_RDONLY) = 3
4423 open("/usr/lib/libssl.so.10", O_RDONLY) = 3
4423 open("/usr/lib/libcrypto.so.10", O_RDONLY) = 3
4423 open("/lib/libc.so.6", O_RDONLY) = 3
4423 open("/lib/libresolv.so.2", O_RDONLY) = 3
4423 open("/lib/libfreebl3.so", O_RDONLY) = 3
4423 open("/lib/libtinfo.so.5", O_RDONLY) = 3
4423 open("/lib/libkrb5support.so.0", O_RDONLY) = 3
4423 open("/lib/libkeyutils.so.1", O_RDONLY) = 3
4423 open("/lib/libpthread.so.0", O_RDONLY) = 3
4423 open("/lib/libselinux.so.1", O_RDONLY) = 3
4423 statfs64("/selinux", 84, {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=2711275, f_bfree=2380713, f_bavail=2242985, f_files=689520, f_ffree=642048, f_fsid={-1727257207, 1632688387}, f_namelen=255, f_frsize=4096}) = 0
4423 open("/proc/filesystems", O_RDONLY|O_LARGEFILE) = 3
4423 getcwd("/var/www/vhosts/vhosts/user/mysite.co.uk/web", 4096) = 45
4423 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
4423 open("/etc/localtime", O_RDONLY) = 3
4423 lstat64("/usr/local/sbin/php", 0xbfe43dec) = -1 ENOENT (No such file or directory)
4423 lstat64("/usr/local/bin/php", 0xbfe43dec) = -1 ENOENT (No such file or directory)
4423 lstat64("/sbin/php", 0xbfe43dec) = -1 ENOENT (No such file or directory)
4423 lstat64("/bin/php", 0xbfe43dec) = -1 ENOENT (No such file or directory)
4423 lstat64("/usr/sbin/php", 0xbfe43dec) = -1 ENOENT (No such file or directory)
4423 lstat64("/usr/bin/php", {st_mode=S_IFREG|0755, st_size=3281860, ...}) = 0
4423 lstat64("/usr/bin", {st_mode=S_IFDIR|0555, st_size=20480, ...}) = 0
4423 lstat64("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
4423 access("/usr/bin/php", X_OK) = 0
4423 open("/usr/bin/php-cli.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
4423 open("/etc/php-cli.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
4423 open("/usr/bin/php.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
4423 open("/etc/php.ini", O_RDONLY) = 3
4423 lstat64("/etc/php.ini", {st_mode=S_IFREG|0644, st_size=69109, ...}) = 0
4423 lstat64("/etc", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
4423 open("/etc/php.d", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
4423 stat64("/etc/php.d/curl.ini", {st_mode=S_IFREG|0644, st_size=49, ...}) = 0
4423 open("/etc/php.d/curl.ini", O_RDONLY) = 3
4423 stat64("/etc/php.d/fileinfo.ini", {st_mode=S_IFREG|0644, st_size=57, ...}) = 0
4423 open("/etc/php.d/fileinfo.ini", O_RDONLY) = 3
4423 stat64("/etc/php.d/json.ini", {st_mode=S_IFREG|0644, st_size=49, ...}) = 0
4423 open("/etc/php.d/json.ini", O_RDONLY) = 3
4423 stat64("/etc/php.d/phar.ini", {st_mode=S_IFREG|0644, st_size=49, ...}) = 0
4423 open("/etc/php.d/phar.ini", O_RDONLY) = 3
4423 stat64("/etc/php.d/zip.ini", {st_mode=S_IFREG|0644, st_size=47, ...}) = 0
4423 open("/etc/php.d/zip.ini", O_RDONLY) = 3
4423 open("/usr/lib/php/modules/curl.so", O_RDONLY) = 3
4423 open("/etc/ld.so.cache", O_RDONLY) = 3
4423 open("/usr/lib/libcurl.so.4", O_RDONLY) = 3
4423 open("/lib/libidn.so.11", O_RDONLY) = 3
4423 open("/usr/lib/libldap-2.4.so.2", O_RDONLY) = 3
4423 open("/lib/librt.so.1", O_RDONLY) = 3
4423 open("/usr/lib/libssl3.so", O_RDONLY) = 3
4423 open("/usr/lib/libsmime3.so", O_RDONLY) = 3
4423 open("/usr/lib/libnss3.so", O_RDONLY) = 3
4423 open("/usr/lib/libnssutil3.so", O_RDONLY) = 3
4423 open("/lib/libplds4.so", O_RDONLY) = 3
4423 open("/lib/libplc4.so", O_RDONLY) = 3
4423 open("/lib/libnspr4.so", O_RDONLY) = 3
4423 open("/usr/lib/libssh2.so.1", O_RDONLY) = 3
4423 open("/usr/lib/liblber-2.4.so.2", O_RDONLY) = 3
4423 open("/usr/lib/libsasl2.so.2", O_RDONLY) = 3
4423 open("/usr/lib/php/modules/fileinfo.so", O_RDONLY) = 3
4423 open("/usr/lib/php/modules/json.so", O_RDONLY) = 3
4423 open("/usr/lib/php/modules/phar.so", O_RDONLY) = 3
4423 open("/usr/lib/php/modules/zip.so", O_RDONLY) = 3
4423 open("/proc/sys/crypto/fips_enabled", O_RDONLY) = 3
4423 stat64("/root/.terminfo", 0xbfe454b0) = -1 ENOENT (No such file or directory)
4423 stat64("/etc/terminfo", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
4423 access("/etc/terminfo/l/linux", R_OK) = -1 ENOENT (No such file or directory)
4423 stat64("/usr/share/terminfo", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
4423 access("/usr/share/terminfo/l/linux", R_OK) = 0
4423 open("/usr/share/terminfo/l/linux", O_RDONLY|O_LARGEFILE) = 3
4423 open("/root/.editrc", O_RDONLY) = -1 ENOENT (No such file or directory)
4423 open("/etc/nsswitch.conf", O_RDONLY) = 3
4423 open("/etc/ld.so.cache", O_RDONLY) = 3
4423 open("/lib/libnss_files.so.2", O_RDONLY) = 3
4423 open("/etc/protocols", O_RDONLY|O_CLOEXEC) = 3
4423 open("/etc/protocols", O_RDONLY|O_CLOEXEC) = 3
4423 open("test.php", O_RDONLY) = 3
4423 getcwd("/var/www/vhosts/vhosts/user/mysite.co.uk/web", 4096) = 45
4423 lstat64("/var/www/vhosts/vhosts/user/mysite.co.uk/web/test.php", {st_mode=S_IFREG|0777, st_size=10, ...}) = 0
4423 lstat64("/var/www/vhosts/vhosts/user/mysite.co.uk/web", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
4423 lstat64("/var/www/vhosts/vhosts/user/mysite.co.uk", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
4423 lstat64("/var/www/vhosts/vhosts/user", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
4423 lstat64("/var/www/vhosts/vhosts", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
4423 lstat64("/var/www/vhosts", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
4423 lstat64("/var/www", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
4423 lstat64("/var", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
Затем выполнение прерывается той же ошибкой, что и раньше (Неустранимая ошибка PHP: и т. Д.).
Решено добавлением "noserverino" в параметры монтирования
Если ты можешь бежать тот же самый PHP-файл из интерфейса командной строки при копировании в локальное хранилище файлов, тогда я бы подумал, что это может быть проблема безопасности SELinux.
Попробуйте поискать в сообщениях уведомления SELinux или просто временно отключить их. У нас было много проблем (пока мы не выяснили это) даже в локальной файловой системе с файлами, доступ к которым SELinux блокировал.
Вы уверены, что test.php включают test.php? Это может привести к неприятным результатам.