Этот вопрос весьма схож с этим: Apache, не позволяющий PHP создать файл
Однако различие - то, что я выполняю Apache при установке XAMPP.
PHP похож на это:
file_put_contents('image.png', base64_decode("iVBORw0KGgoAAAANSUhEUgAA…lb6PwMAAAAASUVORK5CYII="));
Здесь предупреждающее сообщение при установке сообщения об ошибке на E_ALL
:
Warning : file_put_contents(image.png): failed to open stream: No permission in /opt/lampp/htdocs/contentdb/index.php on line 215
(переведенный это, был на немецком языке первоначально),
Что я пытался решить его, согласно принятому ответу, и что уже работало в "нормальной" установке Apache:
sudo chown www-data:www-data "/opt/lampp" -R
# I also tried chown with <myUserName>:<myUserName>, but it didn't work either
РЕДАКТИРОВАНИЕ: После поиска немного, я нашел файл properties.ini
. Это содержит то, в чем я нуждаюсь.
[General]
installdir=/opt/lampp
base_stack_name=XAMPP
base_stack_key=
base_stack_version=7.2.7-0
base_stack_platform=linux-x64
base_stack_service=
require_root_privileges=1
[Apache] <- THIS IS THE IMPORTANT PART
apache_server_port=80
apache_user=daemon
apache_group=daemon
apache_server_ssl_port=443
apache_root_directory=/opt/lampp
apache_htdocs_directory=/opt/lampp/htdocs
apache_domainname=127.0.0.1
apache_configuration_directory=/opt/lampp/apache2/conf
[MySQL]
mysql_port=3306
mysql_host=localhost
mysql_root_directory=/opt/lampp/
mysql_binary_directory=/opt/lampp/bin
mysql_data_directory=/opt/lampp/var/mysql/
mysql_configuration_directory=/opt/lampp/etc
mysql_arguments=-u root -S "/opt/lampp/var/mysql/mysql.sock"
mysql_socket=/opt/lampp/var/mysql/mysql.sock
[PHP]
php_binary_directory=/opt/lampp/bin
php_configuration_directory=/opt/lampp/etc
php_extensions_directory=/opt/lampp/lib/php/extensions/no-debug-non-zts-20170718
Со следующей вещью попробовать покажут daemon:daemon
.
Но тем не менее, сообщение об ошибке продолжает появляться, и файл еще не там, также.
Любая справка значительно ценится.
РЕДАКТИРОВАНИЕ: решенная проблема, см. ответ ниже.
После просмотра файла properties.ini
я обнаружил, что мой пользователь Xampp Apache был назван демоном: apache_user=daemon
apache_group=daemon
Следовательно, это:
sudo chown daemon:daemon -R
добились цели!