Jump to content
Froxlor Forum
  • 0

Update 2.2: In ConfigParser.php line 106: File not readable


Question

Posted

Hallo,

Ich habe heute das Update auf 2.2 anstossen wollen. Ich habe mich für rspamd entschieden und sollte in Schritt 2 folgenden Befehlt eigeben:
 

/var/www/html/froxlor//bin/froxlor-cli froxlor:config-services -a '{"http":"x","dns":"x","smtp":"x","mail":"x","antispam":"rspamd","ftp":"x","distro":"bullseye","system":[]}'

Leider quitiiert der Server das mit folgender Fehlermeldung:

 

In ConfigParser.php line 106:
                     
  File not readable  
                     

froxlor:config-services [-c|--create] [-a|--apply APPLY] [-l|--list] [-d|--daemon DAEMON] [-i|--import-settings IMPORT-SETTINGS] [-A|--yes-to-all]

 

Wie finde ich denn heraus welche Datei er da glaubt nicht lesen zu können ?

 

7 answers to this question

Recommended Posts

  • 1
Posted

Ah, ja dann weiß ich vllt was es sein könnte, dann wird ggfls nicht immer der komplette pfad zur config-xml datei mitgegeben, schau ich mir mal an

  • 0
Posted

Ja, ich bin root und ich habe eine bullseye.xml.

 

root@mail:/var/www/html/froxlor# ls -lisah lib/configfiles/
total 696K
659724 4.0K drwxr-xr-x 2 www-data www-data 4.0K Sep  8 08:09 .
659586 4.0K drwxr-xr-x 7 www-data www-data 4.0K Sep  8 08:09 ..
688657 116K -rw-r--r-- 1 www-data www-data 115K Aug 30 10:13 bookworm.xml
688658 180K -rw-r--r-- 1 www-data www-data 178K Aug 30 10:13 bullseye.xml
688659 148K -rw-r--r-- 1 www-data www-data 145K Aug 30 10:13 focal.xml
688660    0 -rw-r--r-- 1 www-data www-data    0 Aug 30 10:13 index.html
688661 148K -rw-r--r-- 1 www-data www-data 145K Aug 30 10:13 jammy.xml
688662  96K -rw-r--r-- 1 www-data www-data  93K Aug 30 10:13 noble.xml
root@mail:/var/www/html/froxlor# 

 

Spoiler
root@mail:/var/www/html/froxlor# cat build.xml 
<?xml version="1.0" encoding="UTF-8"?>

<project name="froxlor" default="build">

        <!-- Use this when the tools are managed by Composer in ${basedir}/vendor/bin -->
        <property name="pdepend" value="${basedir}/vendor/bin/pdepend" />
        <property name="phpcpd" value="${basedir}/vendor/bin/phpcpd" />
        <property name="phpcs" value="${basedir}/vendor/bin/phpcs" />
        <property name="phploc" value="${basedir}/vendor/bin/phploc" />
        <property name="phpmd" value="${basedir}/vendor/bin/phpmd" />
        <property name="phpunit" value="${basedir}/vendor/bin/phpunit" />

        <target name="full-build"
                depends="prepare,composer,static-analysis,phpunit,-check-failure"
                description="Performs static analysis, runs the tests, and generates project documentation" />

        <target name="full-build-parallel"
                depends="prepare,composer,static-analysis-parallel,phpunit,-check-failure"
                description="Performs static analysis (executing the tools in parallel), runs the tests, and generates project documentation" />

        <target name="quick-build"
                depends="prepare,composer,lint,phpunit-no-coverage,-check-failure"
                description="Performs a lint check and runs the tests (without generating code coverage reports)" />

        <target name="static-analysis"
                depends="composer,lint,phploc-ci,pdepend,phpmd-ci,phpcs-ci,phpcompat-ci,phpcpd-ci"
                description="Performs static analysis" />

        <!-- Adjust the threadCount attribute's value to the number of CPUs -->
        <target name="static-analysis-parallel"
                description="Performs static analysis (executing the tools in parallel)">
                <parallel threadCount="2">
                        <sequential>
                                <antcall target="pdepend" />
                                <antcall target="phpmd-ci" />
                        </sequential>
                        <antcall target="lint" />
                        <antcall target="phpcpd-ci" />
                        <antcall target="phpcs-ci" />
                        <antcall target="phpcompat-ci" />
                        <antcall target="phploc-ci" />
                </parallel>
        </target>

        <target name="clean" unless="clean.done"
                description="Cleanup build artifacts">
                <delete dir="${basedir}/build/api" />
                <delete dir="${basedir}/build/coverage" />
                <delete dir="${basedir}/build/logs" />
                <delete dir="${basedir}/build/pdepend" />
                <property name="clean.done" value="true" />
        </target>

        <target name="prepare" unless="prepare.done" depends="clean"
                description="Prepare for build">
                <mkdir dir="${basedir}/build/api" />
                <mkdir dir="${basedir}/build/coverage" />
                <mkdir dir="${basedir}/build/logs" />
                <mkdir dir="${basedir}/build/pdepend" />

                <property name="prepare.done" value="true" />
        </target>

        <target name="composer"
                description="Installing composer dependencies" depends="prepare">
                <exec executable="composer" failonerror="true">
                        <arg value="install" />
                        <arg value="--prefer-dist" />
                        <arg value="--no-progress" />
                </exec>
        </target>

        <target name="lint" unless="lint.done"
                description="Perform syntax check of sourcecode files">
                <apply executable="php" taskname="lint">
                        <arg value="-l" />

                        <fileset dir="${basedir}/lib/Froxlor">
                                <include name="**/*.php" />
                                <modified />
                        </fileset>

                        <fileset dir="${basedir}/tests">
                                <include name="**/*.php" />
                                <modified />
                        </fileset>
                </apply>

                <property name="lint.done" value="true" />
        </target>

        <target name="phploc" unless="phploc.done"
                description="Measure project size using PHPLOC and print human readable output. Intended for usage on the command line.">
                <exec executable="${phploc}" taskname="phploc">
                        <arg value="--count-tests" />
                        <arg path="${basedir}/lib/Froxlor" />
                        <arg path="${basedir}/tests" />
                </exec>

                <property name="phploc.done" value="true" />
        </target>

        <target name="phploc-ci" unless="phploc.done" depends="prepare"
                description="Measure project size using PHPLOC and log result in CSV and XML format. Intended for usage within a continuous integration environment.">
                <exec executable="${phploc}" taskname="phploc">
                        <arg value="--count-tests" />
                        <arg value="--log-csv" />
                        <arg path="${basedir}/build/logs/phploc.csv" />
                        <arg value="--log-xml" />
                        <arg path="${basedir}/build/logs/phploc.xml" />
                        <arg path="${basedir}/lib/Froxlor" />
                        <arg path="${basedir}/tests" />
                </exec>

                <property name="phploc.done" value="true" />
        </target>

        <target name="pdepend" unless="pdepend.done" depends="prepare"
                description="Calculate software metrics using PHP_Depend and log result in XML format. Intended for usage within a continuous integration environment.">
                <exec executable="${pdepend}" taskname="pdepend">
                        <arg value="--jdepend-xml=${basedir}/build/logs/jdepend.xml" />
                        <arg
                                value="--jdepend-chart=${basedir}/build/pdepend/dependencies.svg" />
                        <arg
                                value="--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg" />
                        <arg path="${basedir}/lib/Froxlor" />
                </exec>

                <property name="pdepend.done" value="true" />
        </target>

        <target name="phpmd" unless="phpmd.done"
                description="Perform project mess detection using PHPMD and print human readable output. Intended for usage on the command line before committing.">
                <exec executable="${phpmd}" taskname="phpmd">
                        <arg path="${basedir}/lib/Froxlor" />
                        <arg value="text" />
                        <arg path="${basedir}/phpmd.xml" />
                </exec>

                <property name="phpmd.done" value="true" />
        </target>

        <target name="phpmd-ci" unless="phpmd.done" depends="prepare"
                description="Perform project mess detection using PHPMD and log result in XML format. Intended for usage within a continuous integration environment.">
                <exec executable="${phpmd}" taskname="phpmd">
                        <arg path="${basedir}/lib/Froxlor" />
                        <arg value="xml" />
                        <arg path="${basedir}/phpmd.xml" />
                        <arg value="--reportfile" />
                        <arg path="${basedir}/build/logs/pmd.xml" />
                </exec>

                <property name="phpmd.done" value="true" />
        </target>

        <target name="phpcs" unless="phpcs.done"
                description="Find coding standard violations using PHP_CodeSniffer and print human readable output. Intended for usage on the command line before committing.">
                <exec executable="${phpcs}" taskname="phpcs">
                        <arg value="--standard=${basedir}/phpcs.xml" />
                        <arg value="--extensions=php" />
                        <arg path="${basedir}/lib/Froxlor" />
                        <arg path="${basedir}/tests" />
                </exec>

                <property name="phpcs.done" value="true" />
        </target>

        <target name="phpcs-ci" unless="phpcs.done" depends="prepare"
                description="Find coding standard violations using PHP_CodeSniffer and log result in XML format. Intended for usage within a continuous integration environment.">
                <exec executable="${phpcs}" output="/dev/null" taskname="phpcs">
                        <arg value="--report=checkstyle" />
                        <arg
                                value="--report-file=${basedir}/build/logs/checkstyle-standard.xml" />
                        <arg value="--standard=${basedir}/phpcs.xml" />
                        <arg value="--extensions=php" />
                        <arg path="${basedir}/lib/Froxlor" />
                        <arg path="${basedir}/tests" />
                </exec>

                <property name="phpcs.done" value="true" />
        </target>

        <target name="phpcompat" unless="phpcompat.done"
                depends="composer"
                description="Find php violations using PHP_CodeSniffer and print human readable output. Intended for usage on the command line before committing.">
                <exec executable="${phpcs}" taskname="phpcompat">
                        <arg
                                line="--standard=PHPCompatibility --runtime-set testVersion 5.6 ${basedir}/lib/Froxlor ${basedir}/tests" />
                </exec>

                <property name="phpcompat.done" value="true" />
        </target>

        <target name="phpcompat-ci" unless="phpcompat.done"
                depends="composer"
                description="Find php violations using PHP_CodeSniffer and log result in XML format. Intended for usage within a continuous integration environment.">
                <exec executable="${phpcs}" output="/dev/null"
                        taskname="phpcompat">
                        <arg
                                line="--standard=PHPCompatibility --runtime-set testVersion 5.6 --report=checkstyle --report-file=${basedir}/build/logs/checkstyle-compat.xml ${basedir}/lib/Froxlor ${basedir}/tests" />
                </exec>

                <property name="phpcompat.done" value="true" />
        </target>

        <target name="phpcpd" unless="phpcpd.done"
                description="Find duplicate code using PHPCPD and print human readable output. Intended for usage on the command line before committing.">
                <exec executable="${phpcpd}" taskname="phpcpd">
                        <arg path="${basedir}/lib/Froxlor" />
                </exec>

                <property name="phpcpd.done" value="true" />
        </target>

        <target name="phpcpd-ci" unless="phpcpd.done" depends="prepare"
                description="Find duplicate code using PHPCPD and log result in XML format. Intended for usage within a continuous integration environment.">
                <exec executable="${phpcpd}" taskname="phpcpd">
                        <arg value="--log-pmd" />
                        <arg path="${basedir}/build/logs/pmd-cpd.xml" />
                        <arg path="${basedir}/lib/Froxlor" />
                </exec>

                <property name="phpcpd.done" value="true" />
        </target>

        <target name="phpunit-prepare" unless="phpunit-prepare.done" depends="composer"
                description="prepare xdebug unit tests">
                <exec executable="${phpunit}" resultproperty="result.phpunit-prepare"
                        taskname="phpunit">
                        <arg value="--configuration" />
                        <arg path="${basedir}/phpunit.xml" />
                        <arg value="--dump-xdebug-filter" />
                        <arg path="${basedir}/tests/xdebug-filter.php" />
                </exec>

                <property name="phpunit-prepare.done" value="true" />
        </target>

        <target name="phpunit" unless="phpunit.done" depends="phpunit-prepare"
                description="Run unit tests with PHPUnit">
                <exec executable="${phpunit}" failonerror="true" resultproperty="result.phpunit"
                        taskname="phpunit">
                        <arg value="--configuration" />
                        <arg path="${basedir}/phpunit.xml" />
                        <arg value="--testsuite" />
                        <arg value="froxlor" />
                        <arg value="--prepend" />
                        <arg path="${basedir}/tests/xdebug-filter.php" />
                </exec>

                <property name="phpunit.done" value="true" />
        </target>

        <target name="phpunit-no-coverage" unless="phpunit.done"
                depends="composer"
                description="Run unit tests with PHPUnit (without generating code coverage reports)">
                <exec executable="${phpunit}" failonerror="true" resultproperty="result.phpunit"
                        taskname="phpunit">
                        <arg value="--configuration" />
                        <arg path="${basedir}/phpunit.xml" />
                        <arg value="--testsuite" />
                        <arg value="froxlor" />
                        <arg value="--no-coverage" />
                </exec>

                <property name="phpunit.done" value="true" />
        </target>

        <target name="-check-failure">
                <fail message="PHPUnit did not finish successfully">
                        <condition>
                                <not>
                                        <equals arg1="${result.phpunit}" arg2="0" />
                                </not>
                        </condition>
                </fail>
        </target>
</project>

 

 

  • 0
Posted

die build.xml hat absolut nix damit zu tun.

Pflege mal folgende Änderungen ein und dann versuchen wir das ganze einzugrenzen:
 

diff --git a/lib/Froxlor/Config/ConfigParser.php b/lib/Froxlor/Config/ConfigParser.php
index 874b1053..ded1694a 100644
--- a/lib/Froxlor/Config/ConfigParser.php
+++ b/lib/Froxlor/Config/ConfigParser.php
@@ -103,7 +103,7 @@ class ConfigParser
        public function __construct($filename)
        {
                if (!is_readable($filename)) {
-                       throw new Exception('File not readable');
+                       throw new Exception('File not readable ('.$filename.')');
                }
 
                $this->xml = simplexml_load_file($filename);

Dann wissen wir genau,welche Datei er da lesen will und nicht kann

  • 0
Posted

Ich kann es leider nicht reproduzieren, der Befehl lässt sich wunderbar auch außerhalb des froxlor-verzeichnisses ausführen und tut was er soll.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...