Deixar um arquivo executável

Estou tentando instalar o xdebug, com o phpize. Aparece esta informação:

Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
shtool at '/var/www/html/xdebug-2.4.0/build/shtool' does not exist or is not executable.
Make sure that the file exists and is executable and then rerun this script.

Então eu tento tornar a pasta build executável com o comando:

sudo mount -o remount,exe '/var/www/html/xdebug-2.4.0/build

Só que retorna:

mount: can't find /var/www/html/xdebug-2.4.0/build in /etc/fstab or /etc/mtab

Estou travado neste ponto. Como posso fazer para deixar o shtool executável?

1 curtida

O comando mount é utilizado para montar algum dispositivo ou disco na hierarquia de sistema de arquivos, quando você insere um CD por exemplo, ou um pen drive, os arquivos destes discos são automaticamente montados no sistema de arquivos do SO, outro exemplo é o seu disco rígido, que é automaticamente montado na hierarquia de sistema de arquivos do seu Linux quando o mesmo é iniciado. A configuração que diz que seu disco rígido deve ser montado fica no arquivo /etc/fstab, você também pode editar este arquivo caso necessite.

Dito isto, acredito que o comando mount não seja o que você precisa.

A mensagem diz que o arquivo shtool no diretório /var/www/html/xdebug-2.4.0/build/, ou não existe, ou não é executável.

Então utilize o comando ls -l /var/www/html/xdebug-2.4.0/build/ para listar os arquivos neste diretório e verifique se o arquivo shtool está lá. Caso o mesmo esteja, então provavelmente o mesmo está sem permissão de execução.

Com o comando ls -l que te indiquei, você verá do lado esquerdo várias letras como -rwxrw-r--. Estas letras indicam as permissões de cada arquivo, o primeiro caractere da esquerda, se for d, significa que este é um diretório, se estiver um hífen significa que é um arquivo comum.

Em seguida temos: rwx|rwx|rwx
R: Read (Leitura)
W: Write (Escrita)
X: Execution (Execução)

Mas o os campos estão se repetindo 3 vezes, por quê?
Campo 1: permissões para o dono, proprietário do arquivo.
Campo 2: permissões para o grupo dono do arquivo.
Campo 3: permissões para outros.

Caso haja um hífen no lugar de uma letra, significa que aquele dono, grupo dono, ou outro não tenha aquela permissão.

Para simplesmente dar a permissão de execução àquele arquivo tanto para o proprietário, grupo e outros simplesmente use o comando chmod +x nomedoarquivo caso você não consiga alterar, é porque você não possui permissão, então rode o comando como root, simplesmente utilize sudo chmod +x nomedoarquivo.