<p>Folders need to be executable for Apache/PHP to be able to open them and read their contents.</p>

<p>I'm guessing it's more of a a case of our build script being overly aggressive and setting the execute bit on files.</p>

<p>From what I can tell, though, setting the execute bit on a PHP script is effectively pointless.</p>

CC BY-SA 3.0
2014-12-06T18:28:33.510Z
I believe setting as executable applies to more of a command line functionality. To execute a PHP script in terminal, you set it as executable before you can run the script.
Jason McCallister
CC BY-SA 3.0
2014-12-05T22:01:38.320Z
2014-12-05T22:01:38.320Z
Brad Bell
<p>(I'm fairly new to the Craft CMS Stack Exchange - so I lack the minimum 50 reputation to reply to the comment by @jason-mccallister; apologies in advance for the etiquette faux-pas)</p>

<p>If you're using a <a href="http://en.wikipedia.org/wiki/Shebang_(Unix)" rel="nofollow" title="Wikipedia: Shebang &#40;Unix&#41;">Shebang</a> at the top your PHP file (#!/usr/bin/php or similar), then your script will need the relevant execute bit set (for the user, the file's group, or world).</p>

<p>However - if you're calling your PHP script by passing it as an argument to your PHP binary as follows:</p>

<pre><code>/usr/bin/php foo.php
</code></pre>

<p>then you do not need an execute bit set (or the Sheband at the top of the PHP file, for that matter) - only an appropriate read bit.</p>

CC BY-SA 3.0
2014-12-17T18:09:44.303Z
So it sounds like it'd be pretty harmless for us to stop setting them to be executable.
Brad Bell
CC BY-SA 3.0
2014-12-17T17:58:13.820Z
2014-12-17T18:11:39.600Z
2014-12-17T18:11:39.600Z
Tom
<p>I just downloaded the latest version of Craft (2.3.2617) and extracted the zip to check it out. Every file has execute permissions turned on for all users. Is there any reason for this?</p>

<install>
Why are all Craft files executable?
# Why are all Craft files executable?

(Asked by: username_0 on 2014-12-05)

I just downloaded the latest version of Craft (2.3.2617) and extracted the zip to check it out. Every file has execute permissions turned on for all users. Is there any reason for this?

**Tags:** install

---

## 2 answers

### Answer by username_1 on 2014-12-05. Score: 1 | Accepted answer

Folders need to be executable for Apache/PHP to be able to open them and read their contents.

I'm guessing it's more of a a case of our build script being overly aggressive and setting the execute bit on files.

From what I can tell, though, setting the execute bit on a PHP script is effectively pointless.

> **Comments:**
> **username_2**: I believe setting as executable applies to more of a command line functionality. To execute a PHP script in terminal, you set it as executable before you can run the script.  

---

### Answer by username_3 on 2014-12-17. Score: 1

(I'm fairly new to the Craft CMS Stack Exchange - so I lack the minimum 50 reputation to reply to the comment by @jason-mccallister; apologies in advance for the etiquette faux-pas)
If you're using a Shebang at the top your PHP file (#!/usr/bin/php or similar), then your script will need the relevant execute bit set (for the user, the file's group, or world).
However - if you're calling your PHP script by passing it as an argument to your PHP binary as follows:
/usr/bin/php foo.php

then you do not need an execute bit set (or the Sheband at the top of the PHP file, for that matter) - only an appropriate read bit.

> **Comments:**
> **username_1**: So it sounds like it'd be pretty harmless for us to stop setting them to be executable.  

---

