当我运行时,bash ./rebuild.sh
出现以下错误:
vagrant@user:/var/www/html/wp-content/xdebug$ bash ./rebuild.sh
Configuring for:
PHP Api Version: 20151012
Zend Module Api No: 20151012
Zend Extension Api No: 320151012
shtool at '/var/www/html/wp-content/xdebug/build/shtool' does not exist or is not executable.
Make sure that the file exists and is executable and then rerun this script.
根据这个答案我应该“从 /var/www/html/ 中删除 noexec 标志”。当我尝试这个时,我收到另一个错误:
$ sudo mount -o remount,noexec /var/www/html/
unknown mount option `relatime'
valid options:
rw mount read write (default)
ro mount read only
uid =<arg> default file owner user id
gid =<arg> default file owner group id
ttl =<arg> time to live for dentry
iocharset =<arg> i/o charset (default utf8)
convertcp =<arg> convert share name from given charset to utf8
dmode =<arg> mode of all directories
fmode =<arg> mode of all regular files
umask =<arg> umask of directories and regular files
dmask =<arg> umask of directories
fmask =<arg> umask of regular files
我被困在这里,因为我在这个问题上没有找到太多东西。我该如何解决?
从 xdebug 自述文件中./rebuild.sh
:“这将运行phpize
、、、和。”./configure
make clean
make
make install
当我phpize
单独运行时,我也会遇到同样的错误。是什么原因造成的?
答案1
您在评论中提到这些文件来自 Windows,如果您的 vagrant VM 中没有挂载点,那么这是一个奇怪的说法。如果您正在使用 vagrant 的同步文件夹功能,那么了解这些信息将很有帮助,即挂载点和您正在使用的任何挂载选项。
该命令chmod +x /var/www/html/wp-content/xdebug/build/shtool
会将所有者、组和所有人的可执行位添加到该文件(如果 Linux 文件系统上存在该文件)。如果在运行后立即未设置执行位,则剩下的选项是这些文件确实是从 Windows 共享/同步的。
vagrant 同步文件夹在你的 vagrantfile 中配置,你必须在那里设置权限和挂载选项,因为标准 Linux 工具无法设置它们。查找vm.synced_folder
设置并根据需要进行配置。