Попробуйте json_decode
:
$array = json_decode('{"id":1,"name":"foo","email":"foo@test.com"}', true);
//$array['id'] == 1
//$array['name'] == "foo"
//$array['email'] == "foo@test.com"
Попробуйте:
git config core.fileMode false
Из git-config (1) :
core.fileMode Сообщает Git, если исполняемый бит файлов в рабочем дереве заслуживает уважения. Некоторые файловые системы теряют исполняемый бит, когда файл помеченный как исполняемый файл извлечен или извлекает неисполняемый файл с исполняемым битом. git-clone (1) или git-init (1) исследует файловую систему, чтобы узнать, обрабатывает ли она исполняемый бит правильно, и эта переменная автоматически установить по мере необходимости. Однако репозиторий может находиться в файловой системе, которая обрабатывает режим файла правильно, и эта переменная имеет значение true, когда создан, но позже может быть доступен из другого среда, которая теряет файловый режим (например, экспорт ext4 через CIFS mount, посетив созданный Cygwin репозиторий с помощью Git для Windows или Eclipse). В таком случае может потребоваться чтобы установить для этой переменной значение false. См. Git-update-index (1). По умолчанию установлено значение true (если core.filemode не указан в файле конфигурации).
Флаг -c
можно использовать для установки этой опции для одноразовых команд:
git -c core.fileMode=false diff
А флаг - global
сделает его поведением по умолчанию для зарегистрированный пользователь.
git config --global core.fileMode false
Изменения глобальной настройки не будут применены к существующим репозиториям.
Кроме того, git clone
и git init
явно устанавливают для core.fileMode
значение true
в конфигурации репозитория, как описано в Git global core.fileMode ложно переопределяется локально на клоне
core.fileMode
не является наилучшей практикой и должен использоваться с осторожностью. Этот параметр охватывает только исполняемый бит режима и никогда не касается битов чтения / записи. Во многих случаях вы думаете, что вам нужен этот параметр, потому что вы сделали что-то вроде chmod -R 777
, сделав все ваши файлы исполняемыми. Но в большинстве проектов большинство файлов не нужны и не должны быть исполняемыми по соображениям безопасности .
Правильный способ решить такую ситуацию - обрабатывать права доступа к папкам и файлам по отдельности, например:
find . -type d -exec chmod a+rwx {} \; # Make folders traversable and read/write
find . -type f -exec chmod a+rw {} \; # Make files read/write
Если ты сделаешь это, ты »
Добавление к ответа Грега Хьюгилла (использования переменной конфигурации core.fileMode
):
Вы можете использовать - chmod = (- | +) x
опция git update-index (низкоуровневая версия «git add») для изменения разрешений на выполнение в индексе, откуда он будет взят, если вы используете «git commit» (а не «git commit -a»).
Изменение режима отмена в рабочем дереве:
git diff --summary | grep --color 'mode change 100755 => 100644' | cut -d' ' -f7- | xargs -d'\n' chmod +x
git diff --summary | grep --color 'mode change 100644 => 100755' | cut -d' ' -f7- | xargs -d'\n' chmod -x
или в MingW-Git
git diff --summary | grep 'mode change 100755 => 100644' | cut -d' ' -f7- | xargs -e'\n' chmod +x
git diff --summary | grep 'mode change 100644 => 100755' | cut -d' ' -f7- | xargs -e'\n' chmod -x